PostgreSQLのセットアップ

PostgreSQLをSUSE Linux 9.1にセットアップしました。その過程をまとめました。

インストール

SUSE Linuxではソフトウェアの追加はYaSTというツールを使用します。PostgreSQLとPHPから呼び出すために必要なモジュールはYaSTに登録されていますので、ここからインストールを行いました。
YaSTから「ソフトウェアのインストールと削除」を呼び出し、以下のモジュールをインストールします。

postgresql
postgresql-contrib
postgresql-docs
postgresql-jdbc
postgresql-libs
postgresql-pl
postgresql-server
psql-ODBC

その他に、日本語の全文検索を可能にするために、後で必要となる、ライブラリも追加します。

kakasi
kakasi-dict

それと、PHPからPostgreSQLを使用するために必要なモジュールを追加します。

php4-pgsql

設定

PostgreSQLの設定を行うために、ルートユーザーからpostgresというユーザーになります。

> su -
> su - postgres

postgresになったら、~/data/pg_hba.confファイルを編集して、下記の設定をします。

  • localからはユーザー名のみで接続できるようにする。
  • 127.0.0.1、127.0.0.2のホストからパスワード認証で接続できるようにする。
  • 192.168.1.0/24からはパスワード認証で接続できるようにする。
local all all trust
host all all 127.0.0.1 md5
host all all 127.0.0.2 md5
host all all 192.168.1.0/24 md5

localをmd5に設定すると、システムブート時にPostgreSQLを起動できなくなってしまいました。
また、ident sameにしておくと、同じマシン内で動作しているApacheからは接続できなくなってしまいます。ただ、phpPgAdminからは接続できたます。
設定が終わったら、PostgreSQLを再起動します。

pg_ctl restart

phpPgAdminのセットアップ

PostgreSQLをWEBブラウザ経由で操作するために、phpPgAdminという便利なツールがあります。次に、このツールをセットアップしました。
まず、下記のサイトから最新版をダウンロードします。ここでは、RPM形式ではなく、ソースを使用します。

http://phppgadmin.sourceforge.net/

ダウンロードしたアーカイブを展開したら、WEBブラウザで参照できる場所にコピーします。SUSE LinuxではApapcheのDocument Rootが/srv/www/htdocsに設定されていますので、そこにコピーしました。phpPgAdminのセットアップはこれで終わりです。

ユーザーの作成

phpPgAdminではデフォルト設定では、postgresやrootではログインできないようになっています。設定ファイルを変更すれば、これらのユーザーでもログインできますが、新規でユーザーを作成することにしました。まず、postgresになります。

su -
su - postgres

ユーザーを作成するには、CREATE USERというSQLを実行すればよいのですが、PostgreSQLではシェルから実行できるラッパーとして、createuserがありますので、これを使用します。

createuser userName -W

-Wをつけると、パスワードを設定することが出来ます。

著書紹介

Authored Books

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Akira Hayashi (林 晃)のアバター Akira Hayashi (林 晃) Representative(代表), Software Engineer(ソフトウェアエンジニア)

アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ソフトウェアの受託開発、技術書執筆、技術指導・セミナー講師。note, Medium, LinkedIn
-
Representative of RK Kaihatsu. Software Engineer Specializing in Development for the Apple Platform. Specializing in contract software development, technical writing, and serving as a tech workshop lecturer. note, Medium, LinkedIn

目次