我的数据库目前拥有正确的权限。我正在尝试创建副本,但我无法获得相同的权限。
我用
创建了一个转储 pg_dump database1 > dbdump
然后我用
创建一个数据库 createdb database2
然后我使用转储来恢复新创建的数据库。
psql database2 < dbdump
要查看我执行\l
的权限,我有以下内容:
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
database1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =T/postgres +
| | | | | postgres=CTc/postgres+
| | | | | root=CTc/postgres
database2 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(5 rows)
如您所见,数据库2上的访问权限不同。
我尝试了以下命令,
GRANT ALL ON ALL TABLES IN SCHEMA public TO root;
但这似乎没有改变任何东西,我无法使用用户名/密码登录数据库,我可以使用database1。