※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

目次



公式HP


PostgreSQL7.4.16

正規版7.4.16

インストールとDB構築準備

Private Packages for Sharp Zaurus SL-C series
hdd2にインストール。データベースもhdd2に構築する必要あり。
$mkdir /hdd2/database
$export PGDATA=/hdd2/database #<-.bashrc追記も行う
$su
#chown zaurus.qpe /hdd2/database
#exit
下記"ZaurusPostgreSQL解説とダウンロードwiki"を参考に、initdbを書き換える。
#cp /dev/null "$PGDATA"/postgresql.conf || exit_nicely <-コメントアウトして
touch "$PGDATA"/postgresql.conf         || exit_nicely #<-追記する
修正したら、LANG=CでローケールをCにしてからinitdbを実行する。

LANG=C問題

dipusさんとこに情報あり。
07'3/20
LANG=ja でエラーが出る方は glibc-locale-ja-* がインストー
ルされてないためのはず。
数日前の man-db ですが、X/Qt な環境を作ってるのであれば、
全く問題なく動きます。そうじゃない場合は、X/Qt-1 or X/Qt
-2 の Feed から locale 回りをインストールする必要があり
ます。X/Qt-2 の場合は、glibc-gconv-ja, glibc-locale-
ja-eucjp, glibc-locale-ja-utf8 の三つをインストールし
ておけば大丈夫です。
ついでに、/usr/lib/locale/ja_JP.eucjpからjaにシンボリッ
クリンクを貼っておけば、LANG=ja_JP.eucJPとやらずに済みます。
uim-fepやuim-ximの場合も同じです。
というわけで、X/QT2 Feed.

PostgreSQL7.4.2 on Zaurus

vfatパッチ適用版7.4.2
ZaurusPostgreSQL解説とダウンロードwiki
gcc3でコンパイルしているためlibgcc_s.so.1が必要になります。あとlibz.so.1, libreadline.so.4にも依存しています。コンパイルオプションに-mcpu=xscale -mtune=xscaleをつけていますのでxscaleでないと動かないかもしれません。
LinuxZaurusTIPS


Postgres(Ruby PostgreSQL 拡張モジュール)

require "postgres" ->true
conn=PGconn.connect("",5432,"","","mydb")
irb: error while loading shared libraries: /opt/QtPalmtop/
lib/ruby/site-ruby/1.8/arm-linux/postgres.so: undefined sym
bol: PQserverVersion
とのエラーが出る。
ここ(7.4.6文書27.2. 接続状態関数と、ここ(8.0.1文書27.2. 接続状態関数
から、libpqに含まれる関数に7.4.16と8.0以降で差があることがわかる。この7.4.16にはPQserverVersionが含まれていない。
postgres.cの該当部分178行目
if (PQserverVersion(conn) >= 80100) {
rb_define_singleton_method(self, "lastval", pgconn_lastval, 0);
}
80100はバージョン8.1をあらわす。7.4.Xを使用するのであれば、この構文は不要と思われる。
(ちなみに、日本語のページのruby-postgres-20050407.tar.gzのpostgres.cでは、この構文は見られない)
dipusさんとこで対策版ruby-postgresのipkがアップされている。



PostgreSQL活用

日本語での検索やソート --no-locale (initdb)

オフィシャルマニュアルに「--no-locale」が載ってない
ちなみに、ご存知の方はご存知ですが、initdbする際に「--no-locale」を忘れると、日本語での検索やソートなどが、想定している通りに動かなくなる場合があります。ご注意を。
--no-locale
日本語を使うときにPostgresのDBの初期化はこんな感じです。
$ initdb --no-locale --encoding=EUC_JP

バックアップとリストア

全てのデータベースを書き出す場合、以下のようにします。
$ pg_dumpall > db.out
上記で書き出したデータベースを読み込む場合、以下のようにします。
$ psql -f db.out postgres #<-postgres=リストア先構築済みDB名

マルチアカウント設定例

postgreSQLでデータベース


postgres-rubyの活用