我有一个具有多个模式的postgres数据库。当我用psql从shell连接到数据库并运行\dt时,它使用默认的公共连接模式。是否有可以指定的标志或如何更改模式?


当前回答

快速解决方案可以是:

SELECT your_db_column_name from "your_db_schema_name"."your_db_tabel_name";

其他回答

如果在docker exec中使用PSQL,它是这样的:

docker exec -e "PGOPTIONS=--search_path=<your_schema>" -it docker_pg psql -U user db_name

快速解决方案可以是:

SELECT your_db_column_name from "your_db_schema_name"."your_db_tabel_name";
\l - Display database
\c - Connect to database
\dn - List schemas
\dt - List tables inside public schemas
\dt schema1. - List tables inside particular schemas. For eg: 'schema1'.

关键词:

SET search_path TO

例子:

SET search_path TO your_schema_name;

这是旧的,但我把导出放在我的别名连接到db:

alias schema_one.con="PGOPTIONS='--search_path=schema_one' psql -h host -U user -d database etc"

对于另一个schema:

alias schema_two.con="PGOPTIONS='--search_path=schema_two' psql -h host -U user -d database etc"