「zaurusでpostgreSQL」の編集履歴(バックアップ)一覧はこちら
「zaurusでpostgreSQL」(2007/03/29 (木) 00:14:13) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
目次
#contents()
----
*公式HP
[[本家>http://www.postgresql.org/]]
[[日本PostgreSQLユーザ会>http://www.postgresql.jp/]]
[[PostgreSQL使用サイトリンク集(フリーウェア) >http://old.postgresql.jp/projects/links/index.html]]
[[pgsql-jp -- PostgreSQL Japanese Mailing List>http://ml.postgresql.jp/mailman/listinfo/pgsql-jp]]
----
*PostgreSQL7.4.16
正規版7.4.16
**インストールとDB構築準備
[[Private Packages for Sharp Zaurus SL-C series>http://www.focv.com/ipkg/]]
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>http://tty0.exblog.jp/5259633/]]
LANG=ja でエラーが出る方は glibc-locale-ja-* がインストー
ルされてないためのはず。
[[06'6/19>http://tty0.exblog.jp/3768187/]]
数日前の 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>http://xqt.sourceforge.jp/feed-testing/]].
*PostgreSQL7.4.2 on Zaurus
vfatパッチ適用版7.4.2
[[ZaurusPostgreSQL解説とダウンロードwiki>http://paipai.org/~humorum/zaurus/pukiwiki/index.php?ZaurusPostgreSQL]]
gcc3でコンパイルしているためlibgcc_s.so.1が必要になります。あとlibz.so.1, libreadline.so.4にも依存しています。コンパイルオプションに-mcpu=xscale -mtune=xscaleをつけていますのでxscaleでないと動かないかもしれません。
[[LinuxZaurusTIPS]]
*[[Postgres(Ruby PostgreSQL 拡張モジュール)>http://old.postgresql.jp/interfaces/ruby/index-ja.html]]
[[日本語リファレンス>http://old.postgresql.jp/interfaces/ruby/reference-ja.html]]
[[rdoc形式英語リファレンス>http://ruby.scripting.ca/postgres/rdoc/]]
[[ダウンロード>http://www.focv.com/ipkg/]]
[[Ruby/DBIとSQLite・MySQL・PostgreSQL拡張モジュールのインストール>http://www.nslabs.jp/dbi-install.rhtml]]
[[RubyでPostgreSQL>http://bitarts.jp/blog/archives/000932.html]]
[[7.4との連携に関して>http://d.hatena.ne.jp/mallowlabs/rss]]
[[postgreSQL7.4にはPQserverVersionがない問題>http://www.nabble.com/-ruby-ext:02311--postgreSQL7.4%E3%81%AB%E3%81%AFPQserverVersion%E3%81%8C%E3%81%AA%E3%81%84-t1356396.html]]は、下記の内容の問題。
環境;C3000 postgres7.4.16 ruby1.8.6pr3
DBを構築(host="",port=5432,db名="mydb")した状態で、irbより
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. 接続状態関数>http://www.postgresql.jp/document/pg746doc/html/libpq-status.html]]と、[[ここ(8.0.1文書27.2. 接続状態関数>http://www.postgresql.jp/document/pg801doc/html/libpq-status.html]]
から、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がアップされている。
----
*活用
**&size(small){日本語での検索やソート --no-locale (initdb)}
[[オフィシャルマニュアルに「--no-locale」が載ってない>http://www.postgresql.jp/blog/30aa30d530a330b730e330eb30de30cb30e530a230eb306b300c-no-locale300d8f0930633066306a3044/tbping]]
ちなみに、ご存知の方はご存知ですが、initdbする際に「--no-locale」を忘れると、日本語での検索やソートなどが、想定している通りに動かなくなる場合があります。ご注意を。
[[--no-locale>http://hori-uchi.com/mt/trackback/8]]
日本語を使うときにPostgresのDBの初期化はこんな感じです。
$ initdb --no-locale --encoding=EUC_JP
**バックアップとリストア
全てのデータベースを書き出す場合、以下のようにします。
$ pg_dumpall > db.out
上記で書き出したデータベースを読み込む場合、以下のようにします。
$ psql -f db.out postgres #<-postgres=リストア先構築済みDB名
*マルチアカウント設定例
[[PostgreSQLの覚え書き>http://collie.low-temp.sci.yamaguchi-u.ac.jp/~ashida/comp/psql.html]]
=end
目次
#contents()
----
*公式HP
[[本家>http://www.postgresql.org/]]
[[日本PostgreSQLユーザ会>http://www.postgresql.jp/]]
[[PostgreSQL使用サイトリンク集(フリーウェア) >http://old.postgresql.jp/projects/links/index.html]]
[[pgsql-jp -- PostgreSQL Japanese Mailing List>http://ml.postgresql.jp/mailman/listinfo/pgsql-jp]]
----
*PostgreSQL7.4.16
正規版7.4.16
**インストールとDB構築準備
[[Private Packages for Sharp Zaurus SL-C series>http://www.focv.com/ipkg/]]
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>http://tty0.exblog.jp/5259633/]]
LANG=ja でエラーが出る方は glibc-locale-ja-* がインストー
ルされてないためのはず。
[[06'6/19>http://tty0.exblog.jp/3768187/]]
数日前の 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>http://xqt.sourceforge.jp/feed-testing/]].
*PostgreSQL7.4.2 on Zaurus
vfatパッチ適用版7.4.2
[[ZaurusPostgreSQL解説とダウンロードwiki>http://paipai.org/~humorum/zaurus/pukiwiki/index.php?ZaurusPostgreSQL]]
gcc3でコンパイルしているためlibgcc_s.so.1が必要になります。あとlibz.so.1, libreadline.so.4にも依存しています。コンパイルオプションに-mcpu=xscale -mtune=xscaleをつけていますのでxscaleでないと動かないかもしれません。
[[LinuxZaurusTIPS]]
*[[Postgres(Ruby PostgreSQL 拡張モジュール)>http://old.postgresql.jp/interfaces/ruby/index-ja.html]]
[[日本語リファレンス>http://old.postgresql.jp/interfaces/ruby/reference-ja.html]]
[[rdoc形式英語リファレンス>http://ruby.scripting.ca/postgres/rdoc/]]
[[ダウンロード>http://www.focv.com/ipkg/]]
[[Ruby/DBIとSQLite・MySQL・PostgreSQL拡張モジュールのインストール>http://www.nslabs.jp/dbi-install.rhtml]]
[[RubyでPostgreSQL>http://bitarts.jp/blog/archives/000932.html]]
[[7.4との連携に関して>http://d.hatena.ne.jp/mallowlabs/rss]]
[[postgreSQL7.4にはPQserverVersionがない問題>http://www.nabble.com/-ruby-ext:02311--postgreSQL7.4%E3%81%AB%E3%81%AFPQserverVersion%E3%81%8C%E3%81%AA%E3%81%84-t1356396.html]]は、下記の内容の問題。
環境;C3000 postgres7.4.16 ruby1.8.6pr3
DBを構築(host="",port=5432,db名="mydb")した状態で、irbより
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. 接続状態関数>http://www.postgresql.jp/document/pg746doc/html/libpq-status.html]]と、[[ここ(8.0.1文書27.2. 接続状態関数>http://www.postgresql.jp/document/pg801doc/html/libpq-status.html]]
から、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活用
**&size(small){日本語での検索やソート --no-locale (initdb)}
[[オフィシャルマニュアルに「--no-locale」が載ってない>http://www.postgresql.jp/blog/30aa30d530a330b730e330eb30de30cb30e530a230eb306b300c-no-locale300d8f0930633066306a3044/tbping]]
ちなみに、ご存知の方はご存知ですが、initdbする際に「--no-locale」を忘れると、日本語での検索やソートなどが、想定している通りに動かなくなる場合があります。ご注意を。
[[--no-locale>http://hori-uchi.com/mt/trackback/8]]
日本語を使うときにPostgresのDBの初期化はこんな感じです。
$ initdb --no-locale --encoding=EUC_JP
**バックアップとリストア
全てのデータベースを書き出す場合、以下のようにします。
$ pg_dumpall > db.out
上記で書き出したデータベースを読み込む場合、以下のようにします。
$ psql -f db.out postgres #<-postgres=リストア先構築済みDB名
**マルチアカウント設定例
[[PostgreSQLの覚え書き>http://collie.low-temp.sci.yamaguchi-u.ac.jp/~ashida/comp/psql.html]]
**[[postgreSQLでデータベース>http://www.pen-chan.jp/net/set/psql-inst.html#fetch]]
----
*postgres-rubyの活用
[[rubyからpostgresを操作する>http://www.pen-chan.jp/net/set/ruby-psql.html]]
=end