У меня есть собственная машина с файлом dmp postgres, который я хочу восстановить на удаленной виртуальной машине (например, IP-адрес 192.168.0.190 и порт postgres 5432) в моей сети. Можно ли восстановить этот дамп с помощью pg_restore без копирования дампа на удаленную машину? Потому что размер дампа около 12Гб, а место на диске на виртуальной машине 20Гб. Спасибо
Восстановить дамп на удаленной машине
Ответы (5)
Вы можете запустить восстановление по сети, не копируя дамп на удаленный хост.
Просто вызовите pg_restore
с -h <hostname>
и -p <port>
(и, возможно, -U <username>
для аутентификации как другого пользователя) на хосте, на котором вы получили файл дампа, например:
pg_restore -h 192.168.0.190 -p 5432 -d databasename -U myuser mydump.dump
Ссылки:
person
nif
schedule
15.10.2014
Да, ты прав. Пробую вот так pg_restore -i -h 192.168.1.190 -p 5432 -U postgres -d MFC_sara -v /home/develop/BD_Dumps/Saratov.dmp ; Но после этой команды необходимо ввести пароль для целевой базы данных. И я этого не знаю, на виртуальной машине я просто создаю базу данных, например, createdb -T template0 MFC_sara
- person Danila Zharenkov; 15.10.2014
Если вы хотите получить доступ с удаленного компьютера, вам потребуется аутентификация по паролю (или любая другая нелокальная аутентификация). Создайте пользователя и назначьте привилегии для базы данных. Или, если это не производственная среда, создайте суперпользователя с паролем:
createuser -P -s someusername
- person nif; 15.10.2014
В качестве альтернативы вы можете использовать psql:
psql -h 192.168.0.190 -p 5432 -d <dbname> -U <username> -W -f mydump.dump
person
plomovtsev
schedule
05.07.2017
Пример удаленного экземпляра RDS на AWS
psql -h mydb.dsdreetr34.eu-west-1.rds.amazonaws.com -p 5432 -d mydbname -U mydbuser -W -f mydatabase-dump.sql
-f, --file=FILENAME execute commands from file, then exit
-W, --password force password prompt (should happen automatically)
person
Dr Manhattan
schedule
17.10.2017
Это сработало! но вставляя 10 строк за раз, мы можем увеличить размер
- person Rohit Parte; 10.12.2020
Вы можете передать параметр пароля в своем скрипте перед "pg_restore", используя PGPASSWORD="your_database_password"
person
Van
schedule
06.01.2016
Я запускаю это и работает со мной:
scp backup.dump user@remotemachine:~
ssh user@remotemachine "pg_restore -h localhost -p 5432 -U databaseuser -W -F c -d databasename -v backup.dump"
Вы можете написать скрипт для автоматизации этого.
person
Franco S
schedule
29.01.2018