2012-02-24 207 views

回答

18

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

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

如澄清here。根据配置,可能会要求输入密码。

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

如果仍然无法登录,请暂时编辑pg_hba.conf,无论它安装在何处,并暂时将localhost设置为可信。然后你可以指定postgres作为用户名和数据库名称。

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

2
psql dbname < /path/to/dump.sql 

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

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

\^h的所有命令这是非常有用的帮助。我需要一些可以从脚本执行的东西。谢谢! – 2015-04-09 04:56:35

-1
psql -U postgres -d doctor_dev < /home/ravi/mydevelopment 
+0

这不是一个答案。此代码仅将未知的sql语句从文件发送到postgresql数据库。 – 2017-01-21 13:17:31

+0

该命令将恢复postgres backupdump – 2017-01-24 05:43:27