PostgreSQLについて
- 日本PostgreSQLユーザ会 (https://www.postgresql.jp/)とPostgreSQL information page (https://lets.postgresql.jp/)に最新情報があります。
- http://www.postgresql.org/ftp/source/から最新のソースをダウンロードします。
- バージョン12からは、それ以前のバージョンで用いられていたoidが削除になったようです。oidを用いてデータの更新をしていた場合は注意が必要です。
以前のバージョンのダンプをバージョン12にリストアした場合、oid (serial型)のカラムを追加すれば、プログラム側の修正は最小限で済みます。
- makeにgmakeが必要なので、packageからインストールしておきます。
- % curl https://ftp.postgresql.org/pub/source/v16.3/postgresql-16.3.tar.bz2 -o postgresql-16.3.tar.bz2
- % tar xvfz postgresql-16.3.tar.gz
% cd postgresql-16.3
% ./configure --with-includes=/usr/local/include
% gmake
- アップデートを行う場合は、インストールする前にデータベースをdumpを行います。
% pg_dumpall > outputfile
次に、古いプログラムのプロセスを終了します。
% pg_ctl stop
次に古いバージョンのディレクトリを、
# mv /usr/local/pgsql /usr/local/pgsql.old
として、別のディレクトリに退避します。
- 自分しか使わないのなら、自分のログインアカウントで、/usr/local に pgsql というディレクトリを作っておきます。また、pgsqlのディレクトリのオーナー、グループも自分にしておきます。
% gmake install
で /usr/local/pgsql にインストールされます。
- 環境変数を設定します。csh系の場合、.cshrcに、
setenv PATH "$PATH":/usr/local/pgsql/bin
setenv POSTGRES_HOME /usr/local/pgsql
setenv PGLIB $POSTGRES_HOME/lib
setenv PGDATA $POSTGRES_HOME/data
を追加します。
- データベースクラスタを作成します。この作業はインストール直後に一回だけ行います。
% initdb
- データベースを起動します。
% pg_ctl start
- 自分用のデータベースを作成します。
% createdb
本人のアカウントでインストールした場合、これで本人のアカウント名のデータベースが作成されます。別のユーザのデータベースを作成する場合、createuser username でPostgreSQLのユーザアカウントを作成してから、createdb username で作成します。
- データベースのアップデートの場合は、dumpして退避したデータを復活します。
% /usr/local/pgsql/bin/psql -d template1 -f outputfile
- pgsql/data/postgresql.confに
log_destination = 'syslog'
と記載すると、エラーログをsyslog経由で記録することができます。
こうしておくと、実行時にログファイルを指定する手間が必要なくなります。
Pg.pm について
- Pg-2.1.1.tar.gz は、
http://gborg.postgresql.org/project/pgperl/download/download.php
からダウンロードできていたのですが、なくなってしまったようです。
私が持っていたコピーは
ここ
です。
% tar xvfz Pg-2.1.1.tar.gz
% cd Pg-2.1.1
% perl Makefile.PL
% make
% make test
rootになって、
# make install
でインストールします。
汎用転置インデックスGINを用いた全文検索
- 【PostgreSQLウォッチ】第32回 PostgreSQL 8.2の全文検索機能で詳しい紹介がされています。
- 8.3からは、本体に取り込まれたので、別途コンパイル・インストールする必要がなくなりました。
miyaoの所には、全文検索の対象になるデータベース名を入れます。
- 対象となるテーブルに検索用のカラムを追加します。
testと言うテーブルにwakachiという検索用カラムを追加する場合は、
alter table test add wakachi TSVECTOR;
と、tsvector型のwakachiというカラムを追加します。
- wakachiというカラムに、検索の対象となる単語を登録していきます。
日本語の場合は、わかち書きソフトで単語に分けてから登録します。
英文の場合は、単語をそのまま登録します。
- gin型indexを作成します。
create index itest_wakachi on test using gin (wakachi);
- select * from test where 'ワード'::tsquery @@ wakachi;
でワードというキーワードの全文検索ができます。
[戻る]
$Id: postgres.html,v 1.26 2010/01/06 14:12:25 miyao Exp $
Copyright © 2002 - 2010 Akio Miyao. All Rights Reserved.