我需要在控制台工具中恢复PostgreSQL数据库中的大表(250mb)。我怎么能用ps_dump或psql做到这一点?
答案 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