我需要在控制台工具中恢复一个占用 250MB 的大表格(table)到 PostgreSQL 数据库中。我该如何使用 ps_dump 或 psql 来完成这个任务?
我需要在控制台工具中恢复一个占用 250MB 的大表格(table)到 PostgreSQL 数据库中。我该如何使用 ps_dump 或 psql 来完成这个任务?
只需使用 psql
连接到数据库,然后运行\i /path/to/filename.sql
。
psql --username yourusername --dbname yourdatabasename -f yourfile.sql
如此处所述,根据配置,可能会要求输入密码。
如果这是一个新安装的数据库引擎,还没有您的数据库,请使用postgres
作为数据库名称,并尝试省略用户名部分(新安装通常应授予当前安装用户完全访问权限)。
如果仍然无法登录,请编辑pg_hba.conf文件(无论它在您的安装中位于何处),将localhost暂时设置为受信任。然后您可以将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