如何使用 pg_dump 或 psql 从 *.sql 恢复 PostgreSQL 表?

问题描述 投票:0回答:5

我需要在控制台工具中恢复 PostgreSQL 数据库中的一个大表(250mb)。我如何使用 ps_dump 或 psql 来做到这一点?

postgresql dump psql
5个回答
53
投票

只需使用

psql
连接到数据库并运行
\i /path/to/filename.sql


25
投票
psql --username yourusername --dbname yourdatabasename -f yourfile.sql

此处所澄清。根据配置,可能会要求您输入密码。

如果是新安装的数据库引擎,还没有您的数据库,请使用

postgres
作为数据库名称,并尝试省略用户名部分(新安装通常应向安装它的当前用户授予完全访问权限)。

如果您仍然无法登录,请临时编辑 pg_hba.conf,无论它位于安装中的任何位置,并将本地主机暂时设置为受信任。然后您可以指定 postgres 作为用户名和数据库名称。

完成后不要忘记恢复 pg_hba.conf 更改。


19
投票
psql dbname < /path/to/dump.sql

如果需要,您甚至可以即时修改转储:

sed 's/OWNER TO olduser/OWNER TO newuser/g' <  /path/to/dump.sql | psql dbname

3
投票
psql -U postgres -d doctor_dev < /home/ravi/mydevelopment

0
投票

psql -d -f /.psql

© www.soinside.com 2019 - 2024. All rights reserved.