当我使用 pgAdmin 或 Navicat 登录查看我的远程 PostgreSQL 数据库时,我可以毫无问题地连接,并且下面列表中的前三个数据库显示正常。但由于某种原因,我无法让最后两个数据库(“template0”和“template1”)与其他数据库一起显示。此外,当我 ssh 进入服务器的数据库时,我可以运行“SELECT * FROM a_table_in_template1_database;” 它毫无问题地显示了表的所有内容,所以我知道数据库和其中的表一切正常。如何让“template1”数据库显示在此列表中并工作?这是我运行“\list”时 PostgreSQL 的终端输出:
template1=# \list
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
---------------+----------+----------+-----------+-------+-----------------------
mygigline | jball037 | LATIN1 | en_US | en_US |
mygiglinemain | postgres | LATIN1 | en_US | en_US |
postgres | postgres | LATIN1 | en_US | en_US |
template0 | postgres | LATIN1 | en_US | en_US | =c/postgres
template1 | postgres | LATIN1 | en_US | en_US | =CTc/postgres
: postgres=CTc/postgres
(5 rows)
看起来可能有“访问权限”导致了这种情况。但是,我已经完成了类似“GRANT ALL ON DATABASE template1 TO postgres”之类的操作,但这似乎没有帮助。
另一个有用的信息:当我使用 Navicat 登录并显示三个数据库时,我可以单击“打开数据库”选项,然后输入“template1”,它将与其他三个数据库,但我无法单击它或对其进行任何操作。
我只想能够在 Navicat 或 pgAdmin 中显示我的所有 5 个数据库,并且能够访问所有这些数据库:) 任何帮助将不胜感激!