【问题标题】:"psql: warning: extra command-line argument" when attempting to run sql files from Windows cmd line尝试从 Windows cmd 行运行 sql 文件时出现“psql:警告:额外的命令行参数”
【发布时间】:2020-03-31 17:30:36
【问题描述】:

我正在尝试在 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" 被忽略

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

【问题讨论】:

    标签: command-line-arguments psql


    【解决方案1】:

    Edi 的方法是我成功使用的方法,这是相同的方法,但带有额外的参数。我在安装了 psql shell 的 Windows 10 客户端上运行此方法,来自针对 greenplum 数据库的批处理文件(postgres DW)

    test.bat 内容,p 为端口:

    set PGPASSWORD=yourPW
    "C:\Program Files\PostgreSQL\13\bin\psql.exe" -h instancename.blah.com -U scott -p 6420 -f "c:\temp\postgresversion.sql" -d dbnamehere
    

    posgresversion.sql 内容:

    SELECT Version();
    

    【讨论】:

      【解决方案2】:

      这是我的解决方法!

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

      【讨论】:

        【解决方案3】:

        如果您输入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 
        

        【讨论】:

        • 在尝试了这两个查询之后,cmd 提示卡住了(我无法输入任何内容)并且没有返回任何内容。当我在 pgAdmin 中手动运行 SQL 时,我应该得到一个项目列表
        • @displayName:我的答案中文件名末尾可能缺少"? (复制和粘贴错误)
        • 不,字符串确实是关闭的。我发现如果我用直接命令 -c "Select * from table" 替换 -f 和 sql 路径调用,它确实有效。然而这并不是我的初衷。有没有办法调用sql文件而不是手动输入整个sql命令?
        • @displayName: 这应该适用于给定的命令。为什么它不起作用是一个全新的问题,没有该文件的实际内容就无法回答
        • 奇怪...这是一个命令。这正是“从 testTable 中选择名称”
        猜你喜欢
        • 1970-01-01
        • 2019-11-04
        • 1970-01-01
        • 2019-12-02
        • 2023-02-23
        • 2015-05-12
        • 2016-04-02
        • 2012-07-09
        • 1970-01-01
        相关资源
        最近更新 更多