salt:创建postgres用户后执行custom SQL

Salt: execute custom SQL after creating a postgres user

使用 salt 创建 postgres 用户与 states.postgres_user

完美配合

我需要 运行 自定义 SQL 来更改用户:

ALTER USER foo_bar_p CONNECTION LIMIT 20;

如何在 salt 创建用户 foo_bar_p 后 运行 以上 SQL?

以下内容未经测试,但我相信它会帮助您:

postgres-set-user-conn-limit:
  cmd.run:
    - name: psql -U <user> -d <db> -c 'ALTER USER foo_bar_p CONNECTION LIMIT 20;'
    - env: PGPASSWORD='<password>'
    - require:
      - postgres_user: foo_bar_p

或者正如@guettli 在评论中所建议的那样,一种完全避免需要密码的方法:

postgres-set-user-conn-limit:
  cmd.run:
    - name: psql -U <user> -d <db> -c 'ALTER USER foo_bar_p CONNECTION LIMIT 20;'
    - user: postgres
    - require:
      - postgres_user: foo_bar_p