PostgreSQLにデフォルトで在るDB、posgres, template0, template1 | クズリーマンのカス備忘録

PostgreSQLにデフォルトで在るDB、posgres, template0, template1

PostgreSQL_logo.3colors.540x557 PostgreSQL
スポンサーリンク

PostgreSQLにデフォルトで在るDB、posgres, template0, template1

すべて、initdbコマンドを実行したタイミングで生成される

生成される順番

  1. template1
  2. template0, postgres

initdbを実行すると、まずtemplate1が作成されて、それをtemplate0とpostgresにコピーします。

 

役割

postgres

デフォルトのDB。このDBにアクセスしてPostgreSQLのコマンドを打ったりするらしい。

template1

create database

や、

createdb

( -T オプションでテンプレートを指定しない場合)

コマンド行った場合に、この template1 DBを基に(テンプレートに)して新規DBが作成される。

このtemplate1は中身が編集できる。(template0は編集できない)

template0

template1 DBと違い、中身が編集できないので、純粋にまっさらなDBを新規作成したい場合は以下のコマンドのようにしてテンプレートとして指定する。

create database newdatabase template=template0;

または、

createdb -T template0 newdatabase;

その他参考にしたサイト

PostgreSQL/template0とtemplate1の違いについて

コメント

タイトルとURLをコピーしました