0
我有一个数据库目前具有正确的权限。我试图创建一个副本,但我无法获得相同的权限。在postgres中授予数据库访问权限
我创建了一个转储
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)
正如你所看到的,访问权限不在DATABASE2一样。
我尝试下面的命令,
GRANT ALL ON ALL TABLES IN SCHEMA public TO root;
,但似乎并没有改变任何东西,并使用用户名/密码,我可以与数据库1我不能登录到数据库通过SSH。