今天我尝试转储我的 PgSQL 数据库,这是我时常做的事情,没有任何问题,但失败了:
borelupo@l5nets02:~$ pg_dump -f spam-20150123.sql -F p -O -C -h x.x.x.x -U borelupo spam
Password:
pg_dump: SQL command failed
pg_dump: Error message from server: ERROR: permission denied for relation badports
pg_dump: The command was: LOCK TABLE public.badports IN ACCESS SHARE MODE
Run Code Online (Sandbox Code Playgroud)
现在,用户borelupo是该表的所有者,他如何才能完全拒绝权限呢?
spam=> \d
List of relations
Schema | Name | Type | Owner
-------+---------------+-------+----------
public | badports | table | borelupo
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?PostgreSQL 是 9.1.14。
编辑:当我以管理员用户(postgres)连接时,转储工作正常。但我当然希望不需要登录数据库服务器、切换用户等。
小智 1
pg_dump 是一个管理函数。因此,需要给用户拥有适当的权限才允许使用该功能。
尝试授予选择并更新对其的访问权限。或者,您可以以超级用户身份登录来执行该操作。
| 归档时间: |
|
| 查看次数: |
19140 次 |
| 最近记录: |