Как правильно использовать pg_restore с AWS RDS для восстановления базы данных postgresql - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь восстановить базу данных Postgresql в AWS RDS.Я думаю, что я почти там.Я могу получить дамп и воссоздать базу данных локально, но мне не хватает последнего шага, чтобы восстановить его в AWS RDS.

Вот что я делаю:

  1. Я получаю свой дамп

$ pg_dump -h my_public dns -U myusername -f dump.sql myawsdb

Я создаю локальную базу данных в моей оболочке под названием test:

create database test;

Я положил дамп в свою тестовую базу данных

$ psql -U myusername -d test -f dump.sql

пока все хорошо.

I get an error: psql:dump.sql:2705: ERROR: role "rdsadmin" does not exist, но я думаю, что могу проигнорировать это, потому что мой БД там со всем контентом.(Я проверил с помощью \ list и \ connect test).

Теперь я хочу восстановить этот дамп / тест в моем AWS RDS.

После этого https://gist.github.com/syafiqfaiz/5273cd41df6f08fdedeb96e12af70e3b Теперь я должен сделать:

pg_restore -h <host> -U <username> -c -d <database name> <filename to be restored>

Но каково мое имя файла и какое имя моей базы данных?

Я пробовал:

pg_restore -h mydns -U myusername -c -d myawsdbname test pg_restore -h mydns -U myusername -c -d myawsdbname dump.sql

и еще пару опций, которые я не помню.

В большинстве случаев это говорит мне что-то вроде: pg_restore: [archiver] could not open input file "test.dump": No such file or directory

Или, для второго: input file appears to be a text format dump. Please use psql.

Может ли кто-то указать мне правильное направление?Помощь очень ценится!

РЕДАКТИРОВАТЬ: Таким образом, я создал файл .dump, используя $ pg_dump -Fc mydb > db.dump Используя этот файл, я думаю, что он работаетТеперь я получаю ошибку [archiver (db)] could not execute query: ERROR: role "myuser" does not exist Command was: ALTER TABLE public.users_user_user_permissions_id_seq OWNER TO micromegas;

Могу ли я это сделать?

EDIT2: я избавился от ошибки, добавив флаги - no-owner --role = mypguser --no-привилегии --no-owner

...