“ psql -c”行中的结尾命令行参数是什么?

时间:2019-11-12 04:13:06

标签: postgresql yaml config psql

我正在查看用于启动云服务器的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数据库运行的命令,为了清楚和安全起见,我想更改数据库,架构和用户名值,而不仅仅是将所有内容设为{ {1}}。

1 个答案:

答案 0 :(得分:0)

psql命令的语法为

psql [option…] [dbname [username]]
documentation中定义的

。这意味着尾随aggregate(注意,最后的"是外部su命令的一部分,而不是psql命令的一部分)是您定义的数据库名称在第二行。