使用命令行参数运行PostgreSQL .sql文件
我有一些.sql文件,其中有成千上万的INSERT语句,需要在我的PostgreSQL数据库上运行这些插入,以便将它们添加到表中。 这些文件非常大,无法打开它们并将INSERT语句复制到编辑器窗口并在那里运行。 我在互联网上发现,您可以通过浏览到PostgreSQL安装的bin文件夹来使用以下内容:
psql -d myDataBase -a -f myInsertFile
在我的情况下:
psql -d HIGHWAYS -a -f CLUSTER_1000M.sql
然后我被要求为我的用户输入一个密码,但是我无法输入任何内容,并且当我输入时出现此错误:
psql:FATAL:密码认证失败,用户“myUsername”
为什么它不让我输入密码。 有没有办法解决这个问题,因为我可以运行这些脚本至关重要?
我通过在我的pg_hba.conf文件中添加一个具有以下结构的新条目来解决此问题:
# IPv6 local connections:
host myDbName myUserName ::1/128 trust
通常可以在PostgreSQL安装的'data'文件夹中找到pg_hba.conf文件。
你有四个选择来提供密码:
http://www.postgresql.org/docs/current/static/libpq-envars.html
http://www.postgresql.org/docs/current/static/libpq-pgpass.html
https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING
当然,你将得到一个致命的验证错误,因为你不包含用户名......
试试这个,对我来说可以:)
psql -U username -d myDataBase -a -f myInsertFile
如果数据库是远程的,则使用与主机相同的命令
psql -h host -U username -d myDataBase -a -f myInsertFile
你应该这样做:
i path_to_sql_file
看到:
链接地址: http://www.djcxy.com/p/65173.html上一篇: Run a PostgreSQL .sql file using command line arguments