Jakub Sokołowski 9eeef53f79
database: use --comand to fix creation of DBs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-12-05 12:52:58 +01:00

27 lines
929 B
YAML

---
- name: 'Create user: {{ db.get("user", db.name) }}'
command: >
docker exec {{ postgres_ha_cont_name }}
psql
--username={{ postgres_ha_admin_user }}
--port={{ postgres_ha_cont_port }}
--command
"DO $$
BEGIN
CREATE USER \"{{ db.get("user", db.name) }}\" PASSWORD '{{ db.pass | mandatory }}';
EXCEPTION WHEN DUPLICATE_OBJECT THEN
RAISE NOTICE 'not creating role {{ db.get("user", db.name) }} -- it already exists';
END
$$;"
- name: 'Create database: {{ db.name | mandatory }}'
command: >
docker exec -i {{ postgres_ha_cont_name }}
psql
--username={{ postgres_ha_admin_user }}
--port={{ postgres_ha_cont_port }}
--command
"SELECT
'CREATE DATABASE \"{{ db.name }}\" WITH OWNER \"{{ db.get("user", db.name) }}\";'
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '{{ db.name }}');"