[pgsql-jp: 36792] WAL ファイルの内容について

yamasiy yamasiy3 @ yahoo.co.jp
2006年 2月 28日 (火) 23:39:15 JST


山下と申します。

WALファイルの内容について参考になる資料はございませんで
しょうか?
もし何かヒントになる些細なことでも良いのでご教授いただけ
ればと思います。

Oct 11 13:33:30 NAGANO postgres[8947]: [18-1] LOG: 
statement: select u.nspname, c.relname, a.attname,
a.atttypid, t.typname, a.attnum, a.attlen, a.at
ttypmod, a.attnotnull,
Oct 11 13:33:30 NAGANO postgres[8947]: [18-2] 
c.relhasrules, c.relkind from pg_catalog.pg_namespace u,
pg_catalog.pg_class c, pg_catalog.pg_attribute
 a, pg_catalog.pg_type t
Oct 11 13:33:30 NAGANO postgres[8947]: [18-3]  where u.oid
= c.relnamespace and (not a.attisdropped) and c.oid=
a.attrelid and a.atttypid = t.oid and
(a.attnum > 0) and
Oct 11 13:33:30 NAGANO postgres[8947]: [18-4]  c.relname =
'du117_teishi_den' and u.nspname = 'public'  and nspname
!~ '^pg_' order by u.nspname, c.re
lname, attnum
Oct 11 13:33:30 NAGANO postgres[8947]: [19-1] LOG: 
statement: select c.relname, i.indkey, i.indisunique,
i.indisclustered, a.amname, c.relhasrules, n
.nspname from
Oct 11 13:33:30 NAGANO postgres[8947]: [19-2] 
pg_catalog.pg_index i, pg_catalog.pg_class c,
pg_catalog.pg_class d, pg_catalog.pg_am a, pg_catalog.pg_
namespace n where
Oct 11 13:33:30 NAGANO postgres[8947]: [19-3]  d.relname =
'du117_teishi_den' and n.nspname = 'public' and n.oid =
d.relnamespace and d.oid = i.indrel
id and i.indexrelid =
Oct 11 13:33:30 NAGANO postgres[8947]: [19-4]  c.oid and
c.relam = a.oid order by i.indisprimary desc,
i.indisunique, n.nspname, c.relname
Oct 11 14:22:27 NAGANO postgres[9845]: [95-1] LOG: 
statement: SELECT * FROM du118_teishi

用途としましては、WALには複数トランザクションのログが一
度に書き込まれると思うのですが、それを判別したいと思いま
して、質問させていただきました。
例えば上記例において、[19-1]〜[19-4]は一つのSQL単位だと
思いますが、[8947]については一つのトランザクションなのか
が第一に知りたく、また併せて、WALに記述される内容の詳細(
どのようなものが出力されるのか)も知りたいと思いますので
、出力されるフォーマットの内容が分かると助かります。

更に踏み込んで言えば、WALからトランザクション単位のSQLをPerl
かなにかでファイルに抜き出し、他のデータベースに反映させ
るというデータ同期処理を手作りでやろうとしています。
これについても何か参考になるものがありましたらご教授願い
ます。

以上、よろしくお願い致します。




pgsql-jp メーリングリストの案内