diff options
Diffstat (limited to 'contrib/pgrowlocks/README.pgrowlocks')
-rw-r--r-- | contrib/pgrowlocks/README.pgrowlocks | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/contrib/pgrowlocks/README.pgrowlocks b/contrib/pgrowlocks/README.pgrowlocks deleted file mode 100644 index 6964cc9c73e..00000000000 --- a/contrib/pgrowlocks/README.pgrowlocks +++ /dev/null @@ -1,88 +0,0 @@ -$PostgreSQL: pgsql/contrib/pgrowlocks/README.pgrowlocks,v 1.2 2007/08/27 00:13:51 tgl Exp $ - -pgrowlocks README Tatsuo Ishii - -1. What is pgrowlocks? - - pgrowlocks shows row locking information for specified table. - - pgrowlocks returns following columns: - - 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 - - Here is a sample execution of pgrowlocks: - -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 -- tuple ID(TID) of each locked rows - lock_type -- "Shared" for shared lock, "Exclusive" for exclusive lock - locker -- transaction ID of locker (note 1) - multi -- "t" if locker is a multi transaction, otherwise "f" - xids -- XIDs of lockers (note 2) - pids -- process ids of locking backends - - note1: if the locker is multi transaction, it represents the multi ID - - note2: if the locker is multi, multiple data are shown - -2. Installing pgrowlocks - - Installing pgrowlocks requires PostgreSQL 8.0 or later source tree. - - $ cd /usr/local/src/postgresql-8.1/contrib - $ tar xfz /tmp/pgrowlocks-1.0.tar.gz - - If you are using PostgreSQL 8.0, you need to modify pgrowlocks source code. - Around line 61, you will see: - - #undef MAKERANGEVARFROMNAMELIST_HAS_TWO_ARGS - - change this to: - - #define MAKERANGEVARFROMNAMELIST_HAS_TWO_ARGS - - $ make - $ make install - - $ psql -e -f pgrowlocks.sql test - -3. How to use pgrowlocks - - pgrowlocks grab AccessShareLock for the target table and read each - row one by one to get the row locking information. You should - notice that: - - 1) if the table is exclusive locked by someone else, pgrowlocks - will be blocked. - - 2) pgrowlocks may show incorrect information if there's a new - lock or a lock is freeed while its execution. - - pgrowlocks does not show the contents of locked rows. If you want - to take a look at the row contents at the same time, you could do - something like this: - - SELECT * FROM accounts AS a, pgrowlocks('accounts') AS p WHERE p.locked_ row = a.ctid; - - -4. License - - pgrowlocks is distribute under (modified) BSD license described in - the source file. - -5. History - - 2006/03/21 pgrowlocks version 1.1 released (tested on 8.2 current) - 2005/08/22 pgrowlocks version 1.0 released |