メインメニュー
サーバーユーザーログイン
ユーザ名:

パスワード:


SSL
パスワード紛失

新規登録
 
PostgresSQLセクション: PHP経由でPostgreSQLデータベースにアクセスする  
発行日付: 2004/6/7 印刷用ページ
 

PHP経由でPostgreSQLデータベースにアクセスする

RaQ4ならびに550では、デフォルトでPostgresが起動しておりませんので、下記手順にてDBの初期化・起動を行う必要があります。

設定手順

1. telnetでサーバにログインし、suコマンドでrootユーザにスイッチします。

2. su - postgres でpostgresユーザにスイッチします。

3. initdb を実行してpostgresのデータベースの初期化を行います。

4. exitで postgresユーザーから抜け

root権限で /etc/rc.d/init.d/postgresql start

を実行します。

5. 再度 suコマンドでpostgresユーザーにスイッチします。

createuser ユーザー名で postgresを利用させたいユーザーを追加します。

6. サーバーの再起動時にpostgresが自動的に立ち上がるようにするには、su - でrootにスイッチして、下記のコマンドを実行します。

chkconfig --level 3 postgresql on


■PHP経由でアクセスする場合

RaQ4にインストールされているPHP4は、Apacheのモジュールタイプとして設定されていますので、PHPからpostgresへアクセスするためのモジュールが組み込まれていませんので手動で組み込んで頂く必要があります。

PHPの設定ファイルを修正します。

adminアカウントでサーバにTelnetログインし、su -コマンドでルートにスイッチします。

cd (移動先ディレクトリ)コマンドを使用し、/etc/httpd/内のphp.iniファイルをvi等で編集します。

;extension=pgsql.so

というように、この行が ;(セミコロン)を行頭につけてコメントアウトされていますので、このセミコロンを削除して保存します。

php.ini内にある下記コメント(;)を外してください。

;extension=interbase.so
;extension=pgsql.so

;extension=interbase.so
extension=pgsql.so

設定後に、httpdの再起動を行います。

/etc/rc.d/init.d/httpd restart

phpinfo()関数を実行したときに、PostgresSQL Support enableという表示がされればアクセスが可能、ということになります。

注意事項

データベースへのアクセス権限設定ですが、WebからPostgreSQLにアクセスする場合、httpdというユーザがアクセスすることになります。そのため、データベース側でhttpdというユーザのアクセスを許可しておかないと接続が拒否されます。また、PHPからPostgreSQLを呼び出す以前に、まずPostgreSQL側がローカルからのアクセスを許可するよう設定されている必要があります。この設定をしないとPostgreSQLへのアクセスができませんのでご注意ください。


PostgreSQLへのローカルからのアクセス許可設定

adminアカウントでサーバにTelnetログインし、su -コマンドでルートにスイッチします。

cd(移動先ディレクトリ)コマンドを使用し、

/home/pgsql/(RaQ3) または /var/lib/pgsql/data(RaQ4,RAQ550)

内にあるpg_hba.confをvi等を使用して修正します。

local all     trust

host all 127.0.0.1 255.255.255.255 trust

上記の記述を追加したら、下記コマンドでpostgresSQLを再起動してください。

/etc/rc.d/init.d/postgresql restart

WebからPostgreSQLに接続する場合、httpdユーザで接続しますので、データベース側でhttpdユーザを追加しアクセスを許可しておく必要があります。そのデータベースにアクセスして下記PSQLコマンドでhttpdユーザーを追加する必要があります。

$ psql データベース名
データベース名=>grant all on テーブル名 to httpd;

RAQ4以下の場合、データベース領域「cobalt」はシステムで利用されているデータベースですので削除 なさいませんようご注意ください。

 
カテゴリに戻る | カテゴリの一覧に戻る
検索
PSX_468_60