(2007.10.23) ページを分割。
PostgreSQL のインストールについて。
ソフトウェア開発でのデータベースの利用は、基礎から学ぶデータベースプログラミング を参照してください。
[2021.5] このセクション見直し。
Linuxディストリビューションや他のUNIX OSでは、バイナリパッケージを使います。
主なディストリビューションなどについては, PostgreSQL の公式バイナリがあります。こちらを使いましょう。PostgreSQL: Downloads
対応OS:
Fedora については, PostgreSQL 公式バイナリもありますが、Fedora の upgradeサイクルと合わないので、無理にこちらを選ぶこともありません。しかし、pgAdmin 4 は PostgreSQL 公式にのみ収録されているので、併せて入れたいときはこちらを選びます。
[[2020.12 CentOS 8 の PostgreSQL は, v10.14. 今から使うにはやや古い。PostgreSQL 公式バイナリを使って, その時点の最新版を入れるのが吉。
CentOS 8 用の公式バイナリリポジトリは, v9.5, v9.6, v10, v11, v12, v13 が全部入る。目的のヴァージョン以外はリポジトリを disable すればいい。
pg_filedump はまだ PostgreSQL v12 までのパッケージしか収録されていない。v12を有効にするか、収録まで待つか、ソースコードから入れるか。ソースコードはこちら; Pg filedump - PostgreSQL wiki
リポジトリをインストール;
CentOS のほうのモジュールの無効化. 必須.
パッケージのインストール。
初期化、起動、有効化。
2020.12 ここまで.]]
Fedora 34 では, PostgreSQL v13.2 がパッケージされています。
[2021.5] postgresql-devel パッケージ (クライアント用ヘッダ等) は、Fedora 30 から名前が libpq-devel に変更になっている。
このほか, rhdb-utils パッケージで pg_filedump コマンドが提供される。
これらを yum コマンドなどでインストールすればいい。
(2005.8.28 この節追加。)
Windowsでは、PostgreSQLはバイナリパッケージでインストールするのが簡単。このパッケージにはpgAdmin IIIが含まれる。また、別のサーバにPostgreSQLをインストールする場合でも、pgAdmin IIIだけのパッケージがあるので、これをインストールしておくと何かと便利。
Windows用のPostgreSQL 8.0バイナリ版のインストーラを使ってみた。インストールするときにエンコーディングを「UNICODE (UTF-8)」にすると、どうもinitdbでエラーになるみたい。EUC-JPにする。
PostgreSQLに接続するデータベースユーザ名を決定し、それにふさわしいようにPostgreSQL認証ファイル pg_hba.conf を編集する。(後述)
Linuxディストリビューションが用意しているPostgreSQLのバージョンが古い場合、自分でソースからコンパイルしてもいい。2007年2月現在、バージョン8.2.3が最新。
PostgreSQLパッケージがインストールされている場合には、あらかじめアンインストールしておく。(rpmコマンドの-eオプション。)
PostgreSQLのWebサイトから、ソースコードアーカイブファイルをダウンロードする。
入手したアーカイブファイルを展開する。
コンパイル前の設定をおこなう。インストール先を指定しなければ、/usr/local/pgsqlディレクトリ以下にインストールされる。
コンパイル。
念のため、インストールする前に、make checkと打って正常に動作するかテストする。
テストに合格すれば、次のように表示される。(PostgreSQLのバージョンによってテストの数は異なる。)
もし合格しないテストがあった場合は、次の文書を確認すること。
すべてのテストに合格したら、rootになって、ファイルをインストールする。
ファイルのインストールが完了したら、他のプログラムからPostgreSQLの共有ライブラリを使えるようにする。(a) 環境変数LD_LIBRARY_PATHを設定する方法と、(b) /etc/ld.so.confファイルに共有ライブラリのあるディレクトリを追加する方法がある。ここでは、後者を採ってみる。
/etc/ld.so.confファイルを編集し、次の行を追加する。
/etc/ld.so.confファイルを編集したら、ldconfigコマンドを実行してシステムに反映させる。
# UNIX でバイナリパッケージを使う
PostgreSQL 公式バイナリ
Solaris [2021.5] Solaris バイナリパッケージは, もはや提供されない。ソースコードからビルドする。
CentOS 8の例
# dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# dnf -qy module disable postgresql
# dnf install postgresql13-server
# systemctl enable postgresql-13
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-13.service → /usr/lib/systemd/system/postgresql-13.service.
# /usr/pgsql-13/bin/postgresql-13-setup initdb
Initializing database ... OK
# systemctl start postgresql-13
Fedora
# Windows版のバイナリ
Note.
※最近のバージョンでは、問題なくUNICODEにできる。
# ソースからコンパイルする
Note.
以下の記述はバージョン7.3のころのもので、若干古い。しかし、手順に変わりはないはず。
# rpm -qa | grep -i postgres
postgresql-libs-7.1.3-2
postgresql-server-7.1.3-2
postgresql-devel-7.1.3-2
postgresql-7.1.3-2
# rpm -e postgresql-libs postgresql-server postgresql-devel postgresql \
perl-DBD-Pg php-pgsql
$ tar xzvf postgresql-7.3.tar.gz
$ cd postgresql-7.3
$ ./configure --with-tcl
$ make
$ make check
======================
All 77 tests passed.
======================
$ su
# make install
/usr/local/pgsql/lib
# /sbin/ldconfig
# サイト内関連ページ