インストールと設定
PostgreSQLのインストールと設定について.
なんとなくコンパイルしたい心境だが,Debian環境での設定などを調査するために,apt-getすることにした.
apt-get install postgresql\*なんだか乱暴だ.
- なんかIMAPがどうとか言って来た.何?
- 心配だった文字コードは設定時に聞いて来た.とりあえずEUC_JPで.
- localeを聞いて来た.ソートに影響があるらしいが,CだとIndexで引くのがなんか早い雰囲気を感じたのでC.
Success. You can now start the database server using: /usr/lib/postgresql/bin/postmaster -D /var/lib/postgres/data or /usr/lib/postgresql/bin/pg_ctl -D /var/lib/postgres/data -l logfile startらしい.Use /usr/bin/createdb to create a specific database and /usr/bin/createuser to enable other users to connect to a PostgreSQL database.
らしい.In the first instance, these commands must be run by the user 'postgres'.
らしい.
データベースの初期化コマンドは
initdbらしいが,Debianではインストーラがやっちゃってくれてる雰囲気を感じた.
PostgreSQLのプロセス名はpostmasterである.Debianなら例によって
/etc/init.d/postgresql startで起動できる.データベースのディレクトリを指定する環境変数PGDATAは
PGDATA=${POSTGRES_DATA:-/var/lib/postgres/data}
となっている.起動時に-DオプションでPGDATA以外のDBのディレクトリも指定できるようだ.あと
$pg_config --bindir /usr/lib/postgresql/binらしい.ので,ユーザpostgresのパスにこいつをいれてみる.
export PATH=$(pg_config --bindir):$PATH
いつでもどこでも設定ファイルについては気になる.全体の設定は
/var/lib/postgres/data/postgresql.confである.この中に,
tcpip_socket = 1などとある.0だと他ホストから接続できない.また,1でも
/var/lib/postgres/data/pg_hba.confのアクセス制御によって接続できたりできなかったりする.デフォルトでは自ホスト以外はハネている.
PostgreSQLはkillするとデータが飛んだりするらしい.正しく終了する必要がある.
/etc/init.d/postgresql stopとすれば大丈夫かな?
postgres:~$ createdb dbnameデフォルトの場所はたぶんカレントディレクトリ(~は/var/lib/postgres).あと文字コードとかも指定できるようだ.そして作ったら削除したい.
dropdb dbname
初期化したDBにアクセスできるユーザを追加する.
createuser hoge Shall the new user be allowed to create databases? (y/n) n Shall the new user be allowed to create more new users? (y/n) nとりあえずDB作成権限とユーザ作成権限はNoにしてみた.で,追加したら削除したい.
dropuser hogeで削除できる.

