PostgreSQLの使い方

フリーで使えるDBとしてはMySQLとPostgreSQLが代表的なものかと思いますが、それぞれの特徴などはどうなんでしょうね。感覚的にはMySQLの方がよく使われている気がします。

CentOS 5.6ではデフォルトではPostgreSQLのバージョン8.1になるようです。postgresql84というパッケージをインストールするとバージョン8.4を使用することが可能です。

最初に起動するときにDBの初期化が必要なようです。service postgresql initdbで実行できます。

次に認証の設定を行います。/var/lib/pgsql/data/pg_hba.confに以下の設定をすることで、ローカルからの接続は認証なし、IPによるlocalhostからの接続はmd5認証となります。(デフォルトはすべてident認証ですが、ident認証のやり方はよく知りません。)

local   all         all                               trust
host    all         all         127.0.0.1/32          md5
host    all         all         ::1/128               md5

一般的な操作をメモしておくと、ユーザhogeの作成と、所有者がhogeのデータベースhugaの作成はそれぞれコマンドラインから以下のとおりです。ちなみにデフォルトのpostgresというのがスーパーユーザの名前です。

$ createuser -U postgres hoge
$ createdb -U postgres -O hoge huga

ユーザhogeにパスワードfooを設定する方法はpsqlと言うコマンドでログインしてから以下のコマンドを実行します。

$ psql -U postgres
# ALTER USER hoge password 'foo';