【PostgreSQL】IF NOT EXISTS的なことをしたい

Postgresでは、CREATE DATABASE IF NOT EXIST testのようなことはできない。
そのため、IF NOT EXISTS部分を自力で作る必要がある。
1 2 3 4 5 6 7 8 9 |
DO $$ BEGIN IF EXISTS (SELECT FROM pg_database WHERE datname = 'testdb') THEN RAISE NOTICE 'Database already exists'; ELSE CREATE DATABASE testdb; END IF; END $$ |
RAISEは標準出力するクエリ