PostgreSQL触ってみた(DB作成&ログイン)
1.データベースクラスタ(データ記憶域)の作成
は、yumでインストールした場合は不要
2.initdbコマンドを実行
$ initdb -E UTF8 --no-locale データベースシステム内のファイルの所有者は"postgres"ユーザでした。 このユーザがサーバプロセスを所有しなければなりません。 データベースクラスタはロケールCで初期化されます。 デフォルトのテキスト検索設定はenglishに設定されました。 ディレクトリ/var/lib/pgsql/9.0/dataの権限を設定しています ... ok サブディレクトリを作成しています ... ok デフォルトのmax_connectionsを選択しています ... 100 デフォルトの shared_buffers を選択しています ... 32MB 設定ファイルを作成しています ... ok /var/lib/pgsql/9.0/data/base/1にtemplate1データベースを作成しています ... ok pg_authidを初期化しています ... ok 依存関係を初期化しています ... ok システムビューを作成しています ... ok システムオブジェクトの定義をロードしています ... ok 変換を作成しています ... ok ディレクトリを作成しています ... ok 組み込みオブジェクトに権限を設定しています ... ok 情報スキーマを作成しています ... ok PL/pgSQL サーバサイド言語をロードしています ... ok template1データベースをバキュームしています ... ok template1からtemplate0へコピーしています ... ok template1からpostgresへコピーしています ... ok 警告: ローカル接続向けに"trust"認証が有効です。 pg_hba.confを編集する、もしくは、次回initdbを実行する時に-Aオプショ ンを使用することで変更することができます。 成功しました。以下を使用してデータベースサーバを起動することができます。 postmaster -D /var/lib/pgsql/9.0/data または pg_ctl -D /var/lib/pgsql/9.0/data -l logfile start
3.postgresql.confの編集
$ vi $PGDATA/postgresql.conf log_destination = 'stderr' →log_destination = 'syslog'
4.起動と停止
$ pg_ctl start サーバは起動中です。 $ pg_ctl stop サーバ停止処理の完了を待っています....完了 サーバは停止しました
5.自動起動設定
# chkconfig --list postgresql-9.0 postgresql-9.0 0:off 1:off 2:off 3:off 4:off 5:off 6:off # chkconfig postgresql-9.0 on # chkconfig --list postgresql-9.0 postgresql-9.0 0:off 1:off 2:on 3:on 4:on 5:on 6:off
6.DBユーザの作成
$ createuser dboper 新しいロールをスーパーユーザにしますか? (y/n)n 新しいロールに対してデータベースを作成する権限を与えますか? (y/n)n 新しいロールに対して別のロールを作成する権限を与えますか? (y/n)n createuser: データベース postgres に接続できませんでした: サーバに接続できませんでした: そのようなファイルやディレクトリはありません ローカルにサーバが稼動していますか? Unixドメインソケット"/tmp/.s.PGSQL.5432"で通信を受け付けていますか? (DB止めたままだった……) $ pg_ctl start サーバは起動中です。
$ createuser dboper 新しいロールをスーパーユーザにしますか? (y/n)n 新しいロールに対してデータベースを作成する権限を与えますか? (y/n)n 新しいロールに対して別のロールを作成する権限を与えますか? (y/n)n
7.DBの作成
$ createdb -O dboper testdb (O=Owner)
作成済みDBの一覧は以下のコマンドで確認
$ psql -l データベース一覧 名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
8.DBログイン
$ psql testdb psql (9.0.2) "help" でヘルプを表示します. testdb=# (ctrl+Dでログオフ)