尝试从Windows cmd行运行sql文件时出现“ psql:警告:额外的命令行参数”

时间:2019-12-06 17:40:24

标签: command-line-arguments psql

我试图在cmd提示符下运行此语句,以便可以在数据库上执行sql脚本。

"C:\Users\Name\Desktop\psql.exe" -U someUsername -h localhost someDbName -f "C:\Users\Name\Desktop\script.sql"

但是,我得到了错误消息:

  

psql:警告:多余的命令行参数“ -f”被忽略

     

psql:警告:额外的命令行参数   “ C:\ Users \ Name \ Desktop \ script.sql”被忽略

所有这些都是新手,因此将不胜感激!

2 个答案:

答案 0 :(得分:2)

如果输入psql --help,则会看到以下摘要:

Usage:
  psql [OPTION]... [DBNAME [USERNAME]]

这意味着数据库名称必须在所有“选项”之后,或者必须作为选项传递(使用-d

所以:

psql.exe -U someUsername -h localhost -d someDbName -f "C:\Users\Name\Desktop\script.sql"

psql.exe -U someUsername -h localhost -f "C:\Users\Name\Desktop\script.sql" someDbName 

答案 1 :(得分:1)

这是我的解决方法!

@ECHO OFF
set PGPASSWORD=postgres
psql -U postgres -f "C:\Users\projects\Project\drop_create_db.sql" -d postgres