<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Steve<br></span><span><br>I wrote a mistake. I see it only for sequences.</span></div><div><br><span></span></div><div><span>However I see Slony's tables: sl_event, sl_seqlog and so on...</span></div><div><br><span></span></div><div><span>I want to be sure that it is normal that "CreateEvent" uses a lot of "AccessShareLock" on all sequences. <br></span></div><div><br><span></span></div><div><span>Any mistake for Slony 1.2.22 or is it the requested behavior?<br></span></div><div><br><span></span></div><span>biopacs_production=#
select
pg_class.relname,pg_locks.transactionid,
pg_locks.mode, &
nbs
p;
substr(pg_stat_activity.current_query,1,30),
pg_stat_activity.query_start, &a
mp;a
mp;
nbsp;
age(now(),pg_stat_activity.query_start) as "age",
pg_stat_activity.procpid
from pg_stat_activity,pg_locks
left &am
p;am
p;n
bsp;
outer join pg_class on (pg_locks.relation =
pg_class.oid)
;
where pg_locks.pid=pg_stat_activity.procpid and not ( pg_class.relname ~
'_seq$' )order by query_start limit 30;<br>
relname | transactionid | mode
| substr | query_start
| age | procpid<br>-----------------------------------------------------------------+---------------+------------------+--------------------------------+----------------------------------+-------------+---------<br> ExpectedProtocolSequenceAttribute_ExpectedProtocolSequenceAttri
| | AccessShareLock | select "_biocluster".createEve |
04-APR-12 12:03:06.372674 -04:00 | @ 0.96 secs | 25021<br> ExpectedProtocolSequenceAttribute_ExpectedProtocolSequenceAttri
| | AccessShareLock | select "_biocluster".createEve |
04-APR-12 12:03:06.372674 -04:00 | @ 0.96 secs | 25021<br> ExpectedProtocolSequenceAttribute_ExpectedProtocolSequenceAttri
| | AccessShareLock | select "_biocluster".createEve | 04-APR-12 12:03:06.372674 -04:00 | @ 0.96 secs | 25021<br> ExpectedProtocolSequenceAttribute_ExpectedProtocolSequenceAttri
| | AccessShareLock | select "_biocluster".createEve |
04-APR-12 12:03:06.372674 -04:00 | @ 0.96 secs | 25021<br> sl_seqlog | | RowExclusiveLock | select
"_biocluster".createEve | 04-APR-12 12:03:06.372674 -04:00 | @ 0.96 secs | 25021<br> ExpectedProtocolSequenceAttribute_ExpectedProtocolSequenceAttri
| | AccessShareLock | select "_biocluster".createEve |
04-APR-12 12:03:06.372674 -04:00 | @ 0.96 secs | 25021<br> ExpectedProtocolSequenceAttribute_ExpectedProtocolSequenceAttri
| | AccessShareLock | select "_biocluster".createEve |
04-APR-12 12:03:06.372674 -04:00 | @ 0.96 secs |
25021<br> sl_event
| | RowExclusiveLock | select "_biocluster".createEve |
04-APR-12 12:03:06.372674 -04:00 | @ 0.96 secs | 25021<br> sl_event
| | ExclusiveLock | select "_biocluster".createEve | 04-APR-12 12:03:06.372674 -04:00 | @ 0.96 secs | 25021<br> sl_set
| | AccessShareLock | select "_biocluster".createEve |
04-APR-12 12:03:06.372674 -04:00 | @ 0.96 secs |
25021<br> pg_class_oid_index
| | AccessShareLock | select "_biocluster".createEve |
04-APR-12 12:03:06.372674 -04:00 | @ 0.96 secs | 25021</span><div><br></div> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> <hr size="1"> <b><span style="font-weight:bold;">De :</span></b> Steve Singer <ssinger@ca.afilias.info><br> <b><span style="font-weight: bold;">À :</span></b> David TECHER <davidtecher@yahoo.fr> <br><b><span style="font-weight: bold;">Cc :</span></b> Slony Hackers <slony1-hackers@lists.slony.info> <br> <b><span style="font-weight: bold;">Envoyé le :</span></b> Mercredi 4 avril 2012 17h51<br> <b><span style="font-weight: bold;">Objet :</span></b> Re: Re : [Slony1-hackers] CreateEvent and Lokcs on replicated objects<br> </font> </div> <br>On 12-04-04 11:40 AM, David TECHER wrote:<br>> Steve<br>><br>> Using a
query taken from<br>><br><br>Also, I ONLY see sequences listed in the below output. I don't see any <br>examples of tables. Are you only seeing this for sequences or did you <br>just not paste enough lines to cover tables.<br><br><br><br><br>> <a href="http://wiki.postgresql.org/wiki/Lock_Monitoring" target="_blank">http://wiki.postgresql.org/wiki/Lock_Monitoring</a><br>><br>> I've got (the 10 first lines)<br>><br>> biopacs_production=# select pg_class.relname,pg_locks.transactionid,<br>> pg_locks.mode, &nbs p; substr(pg_stat_activity.current_query,1,30),<br>> pg_stat_activity.query_start, & nbsp;<br>> age(now(),pg_stat_activity.query_start) as "age",<br>> pg_stat_activity.procpid from pg_stat_activity,pg_locks left &n bsp;<br>> outer join pg_class on (pg_locks.relation = pg_class.oid) ; where<br>> pg_locks.pid=pg_stat_activity.procpid order by query_start limit 10;<br>> relname |
transactionid | mode | substr | query_start | age | procpid<br>> ---------------------------------------------------------+---------------+-----------------+--------------------------------+----------------------------------+-------------+---------<br>> AuditTimePoint_ID_seq | | AccessShareLock | select<br>> "_biocluster".createEve | 04-APR-12 11:38:11.809813 -04:00 | @ 0.97 secs<br>> | 25021<br>> AuditDegradedImage_ID_seq | | AccessShareLock | select<br>> "_biocluster".createEve | 04-APR-12 11:38:11.809813 -04:00 | @ 0.97 secs<br>> | 25021<br>> Screenshot_ScreenshotID_seq | | AccessShareLock | select<br>> "_biocluster".createEve | 04-APR-12 11:38:11.809813 -04:00 | @ 0.97 secs<br>> | 25021<br>> QuestionRule_QuestionRuleID_seq | | AccessShareLock | select<br>> "_biocluster".createEve | 04-APR-12 11:38:11.809813 -04:00 | @ 0.97 secs<br>> | 25021<br>> AuditAllocationStatus_ID_seq | | AccessShareLock |
select<br>> "_biocluster".createEve | 04-APR-12 11:38:11.809813 -04:00 | @ 0.97 secs<br>> | 25021<br>> AuditQCCheckList_ID_seq | | AccessShareLock | select<br>> "_biocluster".createEve | 04-APR-12 11:38:11.809813 -04:00 | @ 0.97 secs<br>> | 25021<br>> QueueItemType_QueueItemTypeID_seq | | AccessShareLock | select<br>> "_biocluster".createEve | 04-APR-12 11:38:11.809813 -04:00 | @ 0.97 secs<br>> | 25021<br>> AuditInstitutionType_ID_seq | | AccessShareLock | select<br>> "_biocluster".createEve | 04-APR-12 11:38:11.809813 -04:00 | @ 0.97 secs<br>> | 25021<br>> AuditExportPublishTables_AuditExportPublishTablesID_seq | |<br>> AccessShareLock | select "_biocluster".createEve | 04-APR-12<br>> 11:38:11.809813 -04:00 | @ 0.97 secs | 25021<br>> AuditCheckParameterRule_ExpectedProtocolSequence_ID_seq | |<br>> AccessShareLock | select "_biocluster".createEve | 04-APR-12<br>> 11:38:11.809813 -04:00 | @ 0.97 secs |
25021<br>> (10 rows)<br>><br>> Please let me understand<br>><br>> ------------------------------------------------------------------------<br>> *De :* Steve Singer <<a ymailto="mailto:ssinger@ca.afilias.info" href="mailto:ssinger@ca.afilias.info">ssinger@ca.afilias.info</a>><br>> *À :* David TECHER <<a ymailto="mailto:davidtecher@yahoo.fr" href="mailto:davidtecher@yahoo.fr">davidtecher@yahoo.fr</a>><br>> *Cc :* Slony Hackers <<a ymailto="mailto:slony1-hackers@lists.slony.info" href="mailto:slony1-hackers@lists.slony.info">slony1-hackers@lists.slony.info</a>><br>> *Envoyé le :* Mercredi 4 avril 2012 17h25<br>> *Objet :* Re: [Slony1-hackers] CreateEvent and Lokcs on replicated objects<br>><br>> On 12-04-04 06:25 AM, David TECHER wrote:<br>> > Hi<br>><br>><br>> I can't think of an obvious reason why a generic SYNC event would get a<br>> lock on all of your tables. I don't think
the SYNC event looks at<br>> replicated tables .<br>><br>> What transactions are holding the locks? You should be able to see this<br>> in your pg_locks output (joining back to pg_class to get the tablenames<br>> from the oids)<br>><br>><br>><br>><br>><br>><br>> ><br>> > I am using Slony 1.2.22<br>> ><br>> > I've noticed that when a CreateEvent occurs<br>> ><br>> > biopacs_production=# select * from pg_stat_activity where procpid=25021;<br>> > datid | datname | procpid | usesysid | usename | current_query | waiting<br>> > | query_start | backend_start | client_addr | client_port<br>> ><br>>
-------+--------------------+---------+----------+--------------+----------------------------------------------------------------+---------+----------------------------------+----------------------------------+-------------+-------------<br>> > 16387 | biopacs_production | 25021 | 10 | enterprisedb | select<br>> > "_biocluster".createEvent('_biocluster', 'SYNC', NULL); | f | 04-APR-12<br>> > 06:22:24.804654 -04:00 | 01-APR-12 06:53:33.363283 -04:00 | 127.0.1.1 |<br>> > 42050<br>> > (1 row)<br>> ><br>> ><br>> > Then by querying pg_locks I've noticed that there is a 'AccessSharelock'<br>> > on all replicated objects (tables and sequences).<br>> ><br>> > It is normal?<br>> ><br>> > Since our database used intensive CPU (high load) I asked myself if it<br>> > could explained my
issue.<br>> ><br>> > Thanks for letting me know.<br>> ><br>> > Kind regards.<br>> ><br>> > David.<br>> ><br>> ><br>> ><br>> > _______________________________________________<br>> > Slony1-hackers mailing list<br>> > <a ymailto="mailto:Slony1-hackers@lists.slony.info" href="mailto:Slony1-hackers@lists.slony.info">Slony1-hackers@lists.slony.info</a> <mailto:<a ymailto="mailto:Slony1-hackers@lists.slony.info" href="mailto:Slony1-hackers@lists.slony.info">Slony1-hackers@lists.slony.info</a>><br>> > <a href="http://lists.slony.info/mailman/listinfo/slony1-hackers" target="_blank">http://lists.slony.info/mailman/listinfo/slony1-hackers</a><br>><br>><br>><br><br><br><br> </div> </div> </div></body></html>