Как восстановить таблицу PostgreSQL из * .sql, используя pg_dump или psql? - PullRequest
13 голосов
/ 24 февраля 2012

Мне нужно восстановить большую таблицу (250 МБ) в базе данных PostgreSQL в консоли.Как я могу сделать это, используя ps_dump или psql?

Ответы [ 4 ]

26 голосов
/ 24 февраля 2012

Просто подключитесь к базе данных с помощью psql и запустите \i /path/to/filename.sql.

9 голосов
/ 18 января 2013
psql --username yourusername --dbname yourdatabasename -f yourfile.sql

как уточнено здесь . В зависимости от конфигурации, может попросить ваш пароль.

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

Если вы по-прежнему не можете войти, отредактируйте временно pg_hba.conf , где бы он ни находился в вашей установке, и временно установите для localhost значение trust. Затем вы можете указать postgres как имя пользователя и имя базы данных.

Не забудьте отменить изменения pg_hba.conf после завершения.

5 голосов
/ 28 февраля 2013
psql dbname < /path/to/dump.sql

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

sed 's/OWNER TO olduser/OWNER TO newuser/g' <  /path/to/dump.sql | psql dbname
2 голосов
/ 21 января 2017
psql -U postgres -d doctor_dev < /home/ravi/mydevelopment
...