さくらVPSにデータベース機能を持たせる(postgreSQL編)


OverView

  1. さくらVPSにデータベースとしてpostgreSQLをインストールする
  2. リモートでデータベースに接続できるようにする
  3. postgreSQLの起動と終了
  4. postgreSQLのデータベース設定
  5. postgreSQLの基本的な操作
  6. 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

 

 

 

 


One thought on “さくらVPSにデータベース機能を持たせる(postgreSQL編)

  1. Pingback: さくらVPSにdropboxみたいなプライベートクラウドストレージを実装する(owncloud) | Try&Error テクニカルブログ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です