MacOSX10.7, psql (9.1.2)
インストール
sudo port install postgresql91 sudo port install postgresql91-server
postgresql91-serverインストールで表示されるメッセージのコマンド実行
sudo mkdir -p /opt/local/var/db/postgresql91/defaultdb sudo chown postgres:postgres /opt/local/var/db/postgresql91/defaultdb sudo su postgres -c '/opt/local/lib/postgresql91/bin/initdb -D /opt/local/var/db/postgresql91/defaultdb'
シンボリックリンク
確認
which postgres postgres not found which pg_ctl pg_ctl not found
sudo ln -s /opt/local/lib/postgresql91/bin/postgres /opt/local/bin sudo ln -s /opt/local/lib/postgresql91/bin/pg_ctl /opt/local/bin
postgresql起動と停止
起動
sudo su postgres -c 'pg_ctl -D /opt/local/var/db/postgresql91/defaultdb start'
停止
sudo su postgres -c '/opt/local/bin/pg_ctl -D /opt/local/var/db/postgresql91/defaultdb stop'
TODO
コマンドにlogfile入れると『sh: logfile: Permission denied』になる。
そのうち何とかするかも。
sudo su postgres -c 'pg_ctl -D /opt/local/var/db/postgresql91/defaultdb -l /opt/local/var/db/postgresql91/logfile start'
設定など
前述のコマンドでpostgresqlを起動。
接続して、登録ユーザ確認。
psql -U postgres psql (9.1.2) Type "help" for help. postgres=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------+----------- postgres | Superuser, Create role, Create DB, Replication | {}
パスワード設定
設定。
ALTER USER postgres WITH PASSWORD 'yourpassword'; ALTER ROLE
psqlを終了
postgres=# \q
pg_hba.conf
pg_hba.confを開いて、『METHOD』のところを書き換える。
sudo emacs /opt/local/var/db/postgresql91/defaultdb/pg_hba.conf
『trust』を 'yourpassword'に書き換え
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all yourpassword # IPv4 local connections: host all all 127.0.0.1/32 yourpassword # IPv6 local connections: host all all ::1/128 yourpassword
postgresql再起動
再起動して変更を反映
sudo su postgres -c 'pg_ctl -D /opt/local/var/db/postgresql91/defaultdb restart'
パスワード入力を確認
psql -U postgres Password for user postgres: psql (9.1.2) Type "help" for help. postgres=#
Emacs -- sql-mode
- M-x sql-postgres
- User: postgres
- Databese:
- Server: localhost
- Password: password
- M-x sql-set-sqli-buffer
*1:大幅改定: 20120126