我可以看到电流search_path
:
show search_path ;
Run Code Online (Sandbox Code Playgroud)
我可以search_path
为当前会话设置:
set search_path = "$user", public, postgis;
Run Code Online (Sandbox Code Playgroud)
同样,我可以search_path
为给定的数据库永久设置:
alter database mydb set search_path = "$user", public, postgis ;
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令永久设置search_path
给定角色(用户):
alter role johnny set search_path = "$user", public, postgis ;
Run Code Online (Sandbox Code Playgroud)
但我想知道如何在更改数据库和角色设置search_path
之前确定它们是什么(相对于)?
我已经成功地使用了 Postgres 14,但现在我被难住了。我有一个abc
包含表的数据库和架构。
\c abc
\dt -- shows tables
Run Code Online (Sandbox Code Playgroud)
我创建了一个新的数据库/架构xyz
,但我看不到我创建的表:
\c xyc
\dt
Did not find any relations.
Run Code Online (Sandbox Code Playgroud)
如果我使用 PgAdmin4 我可以看到xyz
的表格。如果我使用 DbVisualizer 我可以看到xyz
的表格。但是,如果我使用psql
我得到的所有内容,那么我是用户还是我自己(也是超级用户)Did not find any relations.
似乎并不重要。我在 PgAdmin4 中创建了这些表。这是一个错误吗?我尝试更改数据库或架构中所有对象的所有者,但无论我尝试什么,如果我使用.postgres
psql
xyz
xyz
psql
不确定这是否有任何启发:
xyz-# \conninfo
You are connected to database "xyz" as user "postgres" via socket in "/tmp" at port "5432".
xyz=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | …
Run Code Online (Sandbox Code Playgroud)