【问题标题】:Trailing command line argument in "psql -c" line: what is it?“psql -c”行中的尾随命令行参数:它是什么?
【发布时间】:2020-03-07 18:20:41
【问题描述】:

我正在查看用于启动云服务器的 YAML 配置文件。 我想修改文件以使用 RDS 数据库实例而不是 EC2 实例上的 PostgreSQL。我不太明白最后三行末尾的这个尾随aggregate"。我已经围绕psql -c 命令进行了一些谷歌搜索,但似乎找不到在其他地方使用的解释或示例。有点令人困惑的原因是示例配置对数据库、用户、密码和架构使用了相同的字符串。

  - su postgres -c "psql -c \"CREATE ROLE aggregate WITH LOGIN PASSWORD 'aggregate'\""
  - su postgres -c "psql -c \"CREATE DATABASE aggregate WITH OWNER aggregate\""
  - su postgres -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE aggregate TO aggregate\""
  - su postgres -c "psql -c \"CREATE SCHEMA aggregate\" aggregate"
  - su postgres -c "psql -c \"ALTER SCHEMA aggregate OWNER TO aggregate\" aggregate"
  - su postgres -c "psql -c \"GRANT ALL PRIVILEGES ON SCHEMA aggregate TO aggregate\" aggregate"

结尾的aggregate" 是指正在创建/更改的架构所在的数据库吗?

编辑:端点值当然在配置文件的其他地方。上面的命令正是我在启动 EC2 实例之前需要对 RDS 数据库运行的命令,为了清楚和安全起见,我想更改数据库、模式和用户名值,而不仅仅是让所有内容都为 @ 987654325@.

【问题讨论】:

  • 您必须显示确切的错误消息。
  • “尾随命令行参数”看起来不像是由 psql 或 PostgreSQL 生成的错误,因此它可能来自其他地方。 YAML 什么也不做。什么是阅读 YAML 并用它做什么?

标签: postgresql yaml config psql


【解决方案1】:

psql命令的语法是

psql [option…] [dbname [username]]

documentation 中所定义。这意味着结尾的aggregate(注意最后的" 是外部su 命令的一部分,而不是psql 命令的一部分)是您在第二行定义的DB 名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多