私の知る限りにおいて、PostgreSQL のコンソールであるデータベースの CREATE DATABASE
文を知る方法はない。すなわち、MySQL コンソールの SHOW CREATE DATABASE
コマンドに対応するコマンドはない。
しかし、代わりに次のようなコマンドを実行すればよい:
sudo -u postgres pg_dump --schema-only --create db0 \ | grep "CREATE DATABASE"
あるいは、もっと簡潔に
sudo -u postgres pg_dump -s -C db0 | grep "CREATE DATABASE"
ただし、db0
はデータベース名の例であるので、適宜変更する。
pg_dump
はデータベースをダンプするコマンドである。--schema-only
または -s
オプションを付けると、テーブルやインデックスなどの「スキーマ定義」だけがダンプされる。--create
オプションまたは -C
オプションを付けると、ダンプの中に CREATE DATABASE
文が書き込まれる。それを grep
コマンドで抜き出している。
結果として、ターミナルには次のような結果が出力される。
CREATE DATABASE db0 WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'ja_JP.UTF-8' LC_CTYPE = 'ja_JP.UTF-8';