On Fri, Aug 12, 2005 at 12:27:25PM +0900, Tatsuo Ishii wrote: > However even one of transactions, for example 647 commits, still it > shows as if 647 is a member of muitixid 3. > > test=# select * from pgrowlocks('t1'); > locked_row | lock_type | locker | multi | xids > ------------+-----------+--------+-------+----------- > (0,1) | Shared | 3 | t | {646,647} > (1 row) > > Am I missing something?
By design, a MultiXactId does not change its membership, that is, no members are added nor deleted. When this has to happen (for example a row is locked by another backend), a new MultiXactId is generated. The caller is expected to check whether the member transactions are still running. -- Alvaro Herrera (<alvherre[a]alvh.no-ip.org>) "El que vive para el futuro es un iluso, y el que vive para el pasado, un imbécil" (Luis Adler, "Los tripulantes de la noche") ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend