PostgreSQL環境構築メモ(7.3.4)


TCP/IP接続設定

 PostgreSQLにアプリケーションサーバからSocketで接続するには少し設定をいじる必要がある。ちなみに僕が使っているのは7.3.4という少し古いバージョンである。7.3.4ではPostgreSQLサーバにTCP/IP接続を有効にするために(インストールディレクトリ)/data/postgresql.confで以下の設定を行う。ファイル内を検索すればすぐ見つかるはずだ。
tcpip_socket = true
silent_mode = true
 tcpip_socketはTCP/IP接続を受け入れるか否か、またsilent_modeはメッセージを出力させるか否かの指定である。古いPostgreSQLのことを解説したサイト等ではpostmaster.opts.defaultで以下を記述せよとあるが、これと同じ意味のことが新しいバージョンではpostgresql.confで設定できる。
-S -i

TCP/IP接続の許可

 TCP/IPの接続機能を有効にするかどうかとは別に、接続を要求してきたクライアントを認証するかどうかという設定がある。もしかしたらこの設定はインストール時に既に設定されているかもしれないが、(インストールディレクトリ)/data/pg_hba.confで自ホストからのTCP/IP接続を許可する。
# TYPE  DATABASE    USER        IP-ADDRESS        IP-MASK           METHOD

host    all         all         127.0.0.1         255.255.255.255   trust

データベースの作成

初期化
7.3.xではlocaleの処理にバグがあるようなのでinitdbで--no-localeを指定
$ initdb -D --no-locale --encoding=EUC_JP /usr/local/pgsql/data

PostgreSQL起動

$ postmaster -D /usr/local/pgsql/data
または
$ pg_ctl start -w -l logfile -D /usr/local/pgsql/data
-w 起動もしくは停止処理が完了するのを待つ。
-l filename ログファイルを指定する

データベース作成(エンコーディングはEUCを指定)

$ createdb -E EUC_JP xxxdb

データベースバックアップ

$ pg_dump xxxdb > xxxbak

データベース圧縮バックアップ

$ pg_dump xxxdb | gzip > xxxbak.gz

バックアップのリストア

$ psql xxxdb < xxxbak

VACUUM

$ vacuumdb -v -f xxxdb

psqlでCSV出力

xxxdb=# COPY テーブル名 FROM 'ファイル名' DELIMITER ',';

psqlでCSV入力

xxxdb=# COPY テーブル名 TO 'ファイル名' DELIMITER ',';

マシン起動時にPostgreSQLを自動起動する

 マシンの起動時に自動的にPostgreSQLも起動するには、chkconfigコマンドで以下のように入力する。
# chkconfig postgresql on

<日本PostgreSQLユーザ会>
http://www.postgresql.jp/

<逆引きLinuxコマンドリファレンス>
chkconfig

(2005/03/23)

新着情報
【オープンソースソフトウェア環境構築】Apple silicon Macで開発環境を構築
【Rust Tips】Actix webでJSONをPOSTする
【Rust Tips】コマンドライン引数を取得する

Copyright© 2004-2022 モバイル開発系(K) All rights reserved.
[Home]