Восстановить файл резервной копии postgres с помощью командной строки? - PullRequest
210 голосов
/ 28 апреля 2010

Я новичок в postgresql и локально использую pgadmin3. Однако на удаленном сервере такой роскоши у меня нет.

Я уже создал резервную копию базы данных и скопировал ее, но есть ли способ восстановить резервную копию из командной строки? Я вижу только вещи, связанные с GUI или pg_dumps, так что, если кто-нибудь подскажет мне, как это сделать, это будет потрясающе!

Ответы [ 19 ]

2 голосов
/ 19 ноября 2018

попробуйте это:

psql -U <username> -d <dbname> -f <filename>.sql

Восстановление базы данных psql из файла .sql

2 голосов
/ 09 августа 2017

Попробуйте посмотреть, могут ли вам помочь следующие команды:

sudo su - yourdbuser
psql
\i yourbackupfile
2 голосов
/ 06 мая 2017

Как сказано ниже, вы можете использовать команду psql для восстановления файла дампа:

https://www.postgresql.org/docs/8.1/static/backup.html#BACKUP-DUMP-RESTORE

psql dbname < infile

если вам нужно задать имя пользователя, просто добавьте имя пользователя после команды, например:

psql dbname < infile username
1 голос
/ 20 марта 2019

Если у вас есть резервный файл SQL, вы можете легко восстановить его. Просто следуйте инструкциям, приведенным ниже

1. At first, create a database using pgAdmin or whatever you want (for example my_db is our created db name)
2. Now Open command line window
3. Go to Postgres bin folder. For example:  cd "C:\ProgramFiles\PostgreSQL\pg10\bin"
4. Enter the following command to restore your database: psql.exe -U postgres -d my_db -f D:\Backup\backup_file_name.sql 

Введите пароль для вашего пользователя postgres, если это необходимо, и позвольте Postgres выполнять свою работу. Затем вы можете проверить процесс восстановления.

1 голос
/ 22 октября 2018

1) Открыть терминал PSQL.

2) Разархивируйте / распакуйте файл дампа.

3) Создать пустую базу данных.

4) используйте следующую команду для восстановления файла .dump

<database_name>-# \i <path_to_.dump_file>
1 голос
/ 14 октября 2014

Восстановление файла резервной копии postgres зависит от того, как вы взяли резервную копию.

Если вы использовали pg_dump с -F c или -F d, вам нужно использовать pg_restore, иначе вы можете просто использовать

psql -h localhost -p 5432 -U postgres <резервный файл </p>

9 способов резервного копирования и восстановления баз данных postgres

0 голосов
/ 17 сентября 2018

Если вы хотите сделать резервную копию ваших данных или восстановить данные из резервной копии, вы можете выполнить следующие команды:

1 Чтобы создать резервную копию ваших данных, перейдите в каталог postgres \ bin \, например C:\programfiles\postgres\10\bin\, и введите следующую команду - pg_dump -FC -U ngb -d ngb -p 5432 >C:\BACK_UP\ngb.090718_after_readUpload.backup

2 Чтобы восстановить данные из резервной копии, перейдите в каталог postgres \ bin \, например C:\programfiles\postgres\10\bin\, а затем введите следующую команду - C:\programFiles\postgres\10\bin> pg_restore -Fc -U ngb -d ngb -p 5432 <C:\ngb.130918.backup

Пожалуйста, убедитесь, что файл резервной копии существует.

0 голосов
/ 19 июля 2017

У меня были проблемы с аутентификацией при запуске pg_dump, поэтому я переместил свой файл дампа

mv database_dump /tmp

во временный каталог и затем запустил

su -u postgres
cd /tmp
pg_restore database_dump

Если у вас большой дамп базы данных, вы можете просто создать другой каталог, к которому ваш текущий пользователь и пользователь postgres могут получить доступ и поместить в него файл дампа базы данных.

0 голосов
/ 23 мая 2015

См. Ниже пример его работы

C: / Program Files / PostgreSQL / 9.4 / bin \ pg_restore.exe --host localhost --port 5432 - имя пользователя "postgres" --dbname "newDatabase" --no-password --verbose

" C: \ Users \ Yogesh \ Downloads \ new Download \ DB.backup "

...