View on GitHub

akkunchoi.github.com

PostgreSQL

PostgreSQL

on MacOSX with homebrew

インストールはhomebrewが楽。

$ brew install postgresql

9.1.4がインストールされました。

$ postgres --version
postgres (PostgreSQL) 9.1.4

Build Notes にあれやこれやメッセージが出ます。 初回インストールの場合はデータベース作成とlaunchctl登録を行います。

# 見逃した場合は brew info で確認できる
$ brew info postgres

# If this is your first install, create a database with:
$ initdb /usr/local/var/postgres

# If this is your first install, automatically load on login with:
$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

start/stop

# start
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

# stop
$ pg_ctl -D /usr/local/var/postgres stop -s -m fast
pg_ctl: server does not shut down になって止められない...

PHP

PHPをpostgres付きでコンパイルしてなかったので再インストールする。

まずは現状確認。

$ brew info php
...
Installed with: --with-mysql, --with-intl

オプションを確認する。

$ brew options php
...
--with-pgsql
  Include PostgreSQL support

–with-pgsql オプションをつければいいみたい。

一旦削除する。

$ brew uninstall php

PEARをsudoで実行したことがあるらしく、sudo付けないとuninstallできなかった

pgsql付きでインストール。

$ brew install php --with-mysql --with-intl --with-pgsql

pg_connect関数が定義されていればOK

psql

コマンドラインツール psql の使い方。

データベース一覧を確認

$ psql -l

dbnameを指定してログイン。現在のUNIXユーザー名でログインする

$ psql dbname

ユーザーを指定する場合は -U オプション

$ psql dbname -U username

ログインできたらコマンドを受け付ける状態になる。 ここでは psql で使用できるコマンドやSQLが実行可能

dbname=#

代表的な利用できるコマンド

\l データベース一覧
\d テーブル一覧
\c データベースを変更
\q 終了

SQLファイルを実行する場合

$ psql dbname < hoge.sql