我需要在控制台工具中恢复 PostgreSQL 数据库中的一个大表(250mb)。我如何使用 ps_dump 或 psql 来做到这一点?
只需使用
psql
连接到数据库并运行 \i /path/to/filename.sql
。
psql --username yourusername --dbname yourdatabasename -f yourfile.sql
如此处所澄清。根据配置,可能会要求您输入密码。
如果是新安装的数据库引擎,还没有您的数据库,请使用
postgres
作为数据库名称,并尝试省略用户名部分(新安装通常应向安装它的当前用户授予完全访问权限)。
如果您仍然无法登录,请临时编辑 pg_hba.conf,无论它位于安装中的任何位置,并将本地主机暂时设置为受信任。然后您可以指定 postgres 作为用户名和数据库名称。
完成后不要忘记恢复 pg_hba.conf 更改。
psql dbname < /path/to/dump.sql
如果需要,您甚至可以即时修改转储:
sed 's/OWNER TO olduser/OWNER TO newuser/g' < /path/to/dump.sql | psql dbname
psql -U postgres -d doctor_dev < /home/ravi/mydevelopment
psql -d