LOCK TABLE public.users_receipthash В режиме совместного доступа - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь запустить:

pg_dump database_name > database_name_08_27_2018

но получил эти ошибки:

pg_dump: [archiver (db)] query failed: ERROR:  permission denied for relation users_receipthash

pg_dump: [archiver (db)] query was: LOCK TABLE public.users_receipthash IN ACCESS SHARE MODE

Как я могу это исправить? Сервер Ubuntu 16.04

1 Ответ

0 голосов
/ 17 июля 2019

предположим, у вас есть таблица:

t=# create table users_receipthash(); CREATE TABLE

Вам также нужно быть владельцем:

t=# \dt users_receipthash
             List of relations
 Schema |       Name        | Type  | Owner
--------+-------------------+-------+-------
 public | users_receipthash | table | vao
(1 row)

или вам предоставлена ​​роль владельца

t=# grant vao to root;
GRANT ROLE

или будьте суперпользователем:

t=# \du vao
              List of roles
 Role name | Attributes |    Member of
-----------+------------+-----------------
 vao       | Superuser  | {dba, PostgresRules}

если нет, и вы хотите быть одним из них, запустите от имени sueruser

t=# alter user vao superuser;
ALTER ROLE

Теперь я использую you , ссылаясь на пользователя базы данных, которого вы используете для подключения к базе данных. Вы пропускаете ключ -U в строке подключения, поэтому я предполагаю, что вы используете одноранговую аутентификацию для своего пользователя ОС. в моем случае я использую os user vao (и db user vao )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...