ファイヤープロジェクト
インストールと設定
2003-07-20T15:13+09:00   matsu
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
で削除できる.
matsu(C)
Since 2002
Mail to matsu