OverView
- さくらVPSにデータベースとしてpostgreSQLをインストールする
- リモートでデータベースに接続できるようにする
- postgreSQLの起動と終了
- postgreSQLのデータベース設定
- postgreSQLの基本的な操作
- PHPでpostgreSQLに接続できるようにする
postgreSQLのインストール
インストール
# yum -y install postgresql-server.x86_64 postgresql-devel
postgresユーザの設定
yumでinstallすると自動でOSにpostgresユーザが作成されている。
OSユーザのパスワード設定を行う。
# passwd postgres 任意のパスワード
postgreSQLの初期設定
postgresユーザで行う。
# su - postgres
まず、postgreSQLの初期設定を実行する。これはインストール後1回だけ実施。
$ initdb -W --encoding=UTF8 --no-locale
postgreSQLにリモートから接続できるようにする
postgres設定
デフォルトでは自分自身のホストからしか接続できない。
例えばクライアントからpgadminⅢなどで接続したい場合、接続を許可しておく必要がある。
$ vim /var/lib/pgsql/data/postgresql.conf listen_addresses = '*' port = 5432
$ vim /var/lib/pgsql/data/pg_hba.conf host all all 127.0.0.1/32 trust host all all 192.168.1.0/24 trust ←このように接続を許可するIPアドレスを追加する。
ファイアーウォールでポートを開ける(5432番)
# vi /etc/sysconfig/iptables # postgres -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT # /etc/init.d/iptables reload
postgreSQLの起動と終了
自動起動設定
# chkconfig postgresql on
postgreSQLの起動
$ pg_ctl -w start
postgreSQLのデータベース設定
データベースユーザの作成
# su - postgres $ createuser データベースユーザ名 新しいロールをスーパーユーザとしますか? (y/n)n 新しいロールにデータベース作成権限を与えますか? (y/n)y 新しいロールにロールを作成する権限を与えますか? (y/n)n
データベースの作成
createdb データベース名 -U データベースを所有するデータベースユーザ名
postgreSQLの基本的な操作
データベースの一覧を表示
$ psql -l
データベースに接続
psql -U データベースユーザ名 データベース名
psqlを抜ける
xxxxxdb=# \q
PHPからpostgreSQLを利用できるようにする
# yum -y install php-pgsql # vim /etc/php.ini extension_dir = "/usr/lib64/php/modules" extension=pgsql.so # /etc/init.d/httpd restart