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

时间:2012-02-24 09:17:01

标签: postgresql dump psql

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

4 个答案:

答案 0 :(得分:26)

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

答案 1 :(得分:9)

psql --username yourusername --dbname yourdatabasename -f yourfile.sql

澄清here。根据配置,可能会要求您提供密码。

如果它是一个没有数据库的新安装的数据库引擎,请使用postgres作为数据库名称,并尝试省略用户名部分(新安装通常应授予对安装它的当前用户的完全访问权限) )。

如果仍然无法登录,请在安装中的任何位置临时编辑pg_hba.conf,并暂时将localhost设置为trusted。然后,您可以将postgres指定为用户名和数据库名称。

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

答案 2 :(得分:5)

psql dbname < /path/to/dump.sql

如果需要,您甚至可以动态修改转储:

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

答案 3 :(得分:0)

psql -U postgres -d doctor_dev < /home/ravi/mydevelopment