【问题标题】:postgresql: run SQL commands using psql in commandlinepostgresql:在命令行中使用 psql 运行 SQL 命令
【发布时间】:2020-10-14 04:24:16
【问题描述】:

我有以下三行要使用 psql 在命令行中运行我该怎么做。

CREATE DATABASE myproject;
CREATE USER myprojectuser WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser;

我只想按原样传递 sql 字符串。

【问题讨论】:

标签: postgresql


【解决方案1】:

根据docspsql -c 'command;'

psql -c 'CREATE DATABASE myproject;' -c "CREATE USER myprojectuser WITH PASSWORD 'password';" -c 'GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser;'

【讨论】:

    【解决方案2】:

    正如@horse 建议的那样,-f filename 是一个更好的选择。您还可以使用此处的文档将它们放入变量中,然后使用 -c 选项执行它。

    read -r -d '' my_sqls << EOM
    CREATE DATABASE myproject;
    CREATE USER myprojectuser WITH PASSWORD 'password';
    GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser;
    EOM
    psql -c "$my_sqls"   # running all  the lines.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-30
      • 2012-04-01
      • 2012-02-17
      • 2023-03-18
      • 1970-01-01
      相关资源
      最近更新 更多