はじめに
PostgreSQLインストール後、データベースクラスタ作成、データベースユーザ作成、テーブルスペース作成までの一連の手順についてまとめました。
前提条件
・本手順の$で記載している箇所は、事前に作成したpostgresユーザで実行すること
・データベースクラスタ作成時のオプションは例
データベースクラスタの作成
- データベースクラスタを作成する。
$ initdb -D /usr/local/pgsql --pgdata=/usr/local/pgsql/data --xlogdir=[walファイル出力先] --lc-collate="C" --lc-ctype="C" --encoding=UTF8 --username=postgres
- インスタンスを起動する。
$ pg_ctl start -w -D /usr/local/pgsql/data
psql接続
- psqlに接続する。
$ psql
データベース作成
- データベースを作成する。
postgres-# create database データベース名 encoding=UTF8;
- データベースが作成されたことを確認する。
postgres-# \l
- 作成したデータベースに接続できることを確認する。
postgres-# \c データベース名
データベースユーザ作成
- データベースユーザを作成する。
postgres-# create user ユーザ名 with password 'パスワード';
- データベースユーザが作成されたことを確認する。
postgres-# select usename from pg_user;
データベース権限確認
- データベースに対する権限を確認する。 ※権限がある場合は、"t"、権限がない場合は、"f"が表示される。
postgres-# select * from pg_user;
データベースユーザ権限設定
- データベースユーザに対する権限を設定する。 ※追加、変更、削除、参照が可能。
postgres-# grant insert, update, delete, select on all tables in schema public to ユーザ名;
データベースユーザ権限確認
- データベースユーザに対する権限を確認する。 ※権限がある場合は、"t"、権限がない場合は、"f"が表示される。
postgres-# SELECT * FROM pg_authid;
テーブル権限確認
- テーブルに対する権限を確認する。
postgres-# \z
テーブルスペース作成
- テーブルスペースを作成する。
postgres-# create tablespace [テーブルスペース名] LOCATION 'テーブルスペースのパス';
- テーブルスペースが作成されたことを確認する。
postgres-# \db