📄 readme.pgrowlocks.euc_jp
字号:
$PostgreSQL: pgsql/contrib/pgrowlocks/README.pgrowlocks.euc_jp,v 1.1 2006/04/23 01:12:58 ishii Exp $pgrowlocks README 佬版茫勺1. pgrowlocksとは pgrowlocksは·回年されたテ〖ブルの乖ロックに簇する攫鼠を山绩しますˉ pgrowlocksの手す房は·笆布のようになりますˉCREATE TYPE pgrowlocks_type AS ( locked_row TID, -- row TID lock_type TEXT, -- lock type locker XID, -- locking XID multi bool, -- multi XID? xids xid[], -- multi XIDs pids INTEGER[] -- locker's process id); 悸乖毋を绩しますˉtest=# SELECT * FROM pgrowlocks('t1'); locked_row | lock_type | locker | multi | xids | pids ------------+-----------+--------+-------+-----------+--------------- (0,1) | Shared | 19 | t | {804,805} | {29066,29068} (0,2) | Shared | 19 | t | {804,805} | {29066,29068} (0,3) | Exclusive | 804 | f | {804} | {29066} (0,4) | Exclusive | 804 | f | {804} | {29066}(4 rows) 称灌誊の棱汤ですˉ locked_row -- ロックされた乖のタプルID(TID) lock_type -- 鼎铜ロックなら"Shared"·怯戮ロックなら"Exclusive" locker -- ロックをかけているトランザクションID[庙1] multi -- lockerがマルチトランザクションならtそうでなければf xids -- ロックをかけているトランザクションID[庙2] pids -- ロックをかけているバックエンドプロセスのプロセスID[庙2] [庙1: lockerがマルチなら·トランザクションIDではなくてマルチIDになり ますˉ] [庙2: lockerがマルチの眷圭·剩眶のデ〖タが山绩されますˉ]2. pgrowlocksのインスト〖ル pgrowlocksのインスト〖ルには·PostgreSQLをインスト〖ルしたときのソ〖 スツリ〖が涩妥ですˉ海のところ滦炳しているバ〖ジョンはPostgreSQL 8.0笆惯ですˉ ここではPostgreSQLのソ〖スは/usr/local/src/postgresql-8.1/に鸥倡さ れているものとしますˉ 1) pgrowlocksのソ〖スを鸥倡しますˉソ〖スファイルは /tmp/pgrowlocks-1.0.tar.gzに弥いてあるものとしますˉ $ cd /usr/local/src/postgresql-8.1/contrib $ tar xfz pgrowlocks-1.0.tar.gz 2) PostgreSQL 8.0の眷圭は·ソ〖スの办婶に饯赖が涩妥ですˉ pgrowlocks.cの61乖誊收りに #undef MAKERANGEVARFROMNAMELIST_HAS_TWO_ARGS というのがあるので·これを #define MAKERANGEVARFROMNAMELIST_HAS_TWO_ARGS に今き垂えます(undef->defineにします)ˉ 3) コンパイルして簇眶の鼎铜ライブラリをインスト〖ルしますˉ $ make $ make install 4) ユ〖ザ年盗簇眶を判峡しますˉ $ psql -e -f /usr/local/pgsql/share/contrib/pgrowlocks.sql test この毋では"test"というデ〖タベ〖スに判峡していますが·もし戮のデ〖 タベ〖スに判峡する眷圭はここを粕み仑えてくださいˉ3. pgrowlocksの蝗い数 pgrowlocksの钙び叫し妨及は笆布ですˉ CREATE OR REPLACE FUNCTION pgrowlocks(text) RETURNS pgrowlocks_type AS 'MODULE_PATHNAME', 'pgrowlocks' LANGUAGE 'c' WITH (isstrict); 妈办苞眶: テ〖ブル叹 簇眶の提りはpgrowlocks_type房ですˉ pgrowlocksはテ〖ブルにAccessShareLockロックをかけ·1乖ずつ粕み叫し ては乖ロックがかかっているかどうかチェックしますˉ笆布の爬に庙罢し てくださいˉ 1) 澈碰テ〖ブルに怯戮ロックがかかっていると·pgrowlocksの悸乖はブロッ クされますˉ 2) pgrowlocksの悸乖面に糠たにかかったり·豺近された乖ロックに簇する 攫鼠はpgrowlocksの悸乖冯蔡に瓤鼻されていない材墙拉がありますˉ pgrowlocksはロックされた乖の柒推は山绩しませんˉ乖柒推を斧たい眷圭 は·テ〖ブルをpgrowlocksのlocked_rows误で冯圭しますˉ毋を绩しますˉ SELECT * FROM accounts AS a, pgrowlocks('accounts') AS p WHERE p.locked_ row = a.ctid;4. pgrowlocksのライセンス掘凤について pgrowlocks.cの肆片に今いてある奶りです(饯赖BSDライセンスに洁じてい ます)ˉまた·pgrowlocks は窗链に痰瘦沮ですˉpgrowlocks を蝗脱したこ とによって栏じるいかなる冯蔡に簇しても勒扦を砷いませんˉ5. 猖柠旺悟 2006/03/21 pgrowlocks バ〖ジョン 1.1リリ〖ス(8.2 currentでテスト) 2005/08/22 pgrowlocks バ〖ジョン 1.0リリ〖ス
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -