Postgres ОШИБКА: разрешение для таблицы отклонено - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть файл дампа, созданный с помощью pg_dump из удаленной базы данных. Я использую файл для восстановления и заполнения базы данных, используя psql. У меня не было имени пользователя и базы данных. Я заглянул в файл sql и выяснил пользователя и базу данных. Вот мои шаги: 1. psql -h <> -u <> -d (я использовал суперпользователя здесь). 2. создал пользователя, так как приложение должно получить доступ только с использованием этого пользователя. 3. изменил владельца базы данных на пользователя, созданного на шаге 2 с помощью Pgadmin.

Я не могу получить доступ к каким-либо таблицам и получаю сообщение об ошибке - ОШИБКА: в доступе к таблице отказано

Пожалуйста, помогите!

Спасибо

1 Ответ

1 голос
/ 23 апреля 2020

Лучше, если вы используете dump и restore вместо psql для восстановления базы данных. например,

например, предположим, что у вас есть база данных dbname_source в remoteDB и dbname_target в localDB, тогда вы можете использовать следующие команды для дампа и восстановления

./pg_dump -U postgres -p 5432 -h <remote_IP> -Ft dbname_source > dump_of_source.sql.tar 
./pg_restore -U postgres -h localhost -p 5432 -d dbname_target dump_of_source.sql.tar

Раскрытие информации: я работаю для EnterpriseDB (EDB )

...