Peter,

Sometimes per week server stops randomly responding for approx 5 minutes.
User should wait for 5 minutes before server responds.
Other users can work normally at same time.
Sounds very much like a locking issue.

Thank you.
This may be the issue.

Are you doing something like
storing a frequently updated system-wide setting in a table with a
single row?
http://wiki.postgresql.org/wiki/Lock_Monitoring

AFAIK Order entry should not update single row global parameter setting table. Order id and numbers, order detail row ids and row order numbers are read from PostgreSql sequence tables using nextval. Hopefully this cannot cause the issue. Specific for this site there every order entry invokes lot of tiny updates for single row foreign key fields on large rid table which are shown below. Not sure that they cause delay.

When the problem happens again, report back what the top query you see
on that wiki page shows.

Issue is reported by users later, I cannot access to server at the time when issue occurs. Users can report exact time when issue occured. How to set additional logging for find reason for this after issue is reported?

I optimized postgresql.conf to mized server using Tuning Wizard and  added

log_lock_waits = on
log_temp_files = 2000
log_min_duration_statement = 10000
log_line_prefix='%t %u %d '
log_min_error_statement = warning

to end of postgresql.conf

How to tune logging so that reason is logged if this happens again ??

Andrus.


Order entry updates:

update rid SET rid7obj='.', reakuupaev=?dok.kuupaev where (toode like 'KM%' or toode like 'TT%') and
  dokumnr= <<TRANSFORM(dok.dokumnr)>>;
update rid SET rid7obj='.' where toode like 'YM%' and dokumnr=<<TRANSFORM(dok.dokumnr)>>; update rid SET reakuupaev=?dok.kuupaev where toode like 'TT%' and dokumnr=<<TRANSFORM(dok.dokumnr)>>;

update rid SET rid6obj='XX-XXX' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and toode like 'TT%' ; update rid SET rid6obj='XX-XXX' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and toode like 'K%' ; update rid SET rid6obj='XX-XXX' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and toode like 'Y%' ;

update rid SET myygikood='E' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and rid2obj like 'MLE%'; update rid SET myygikood='Y' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and rid2obj like 'MLE%' and rid6obj like 'EU%' ; update rid SET rid3obj='MNOEU' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and rid2obj like 'MLE%'; update rid SET rid3obj='MEURO' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and rid2obj like 'MLE%' and rid6obj like 'EU%' ;

update rid SET myygikood='E' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and rid2obj like 'MMA%'; update rid SET rid3obj='MNOEU' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and rid2obj like 'MMA%'; update rid SET myygikood='Y' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and rid2obj like 'MMA%' and rid6obj like 'EU%'; update rid SET rid3obj='MEURO' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and rid2obj like 'MMA%' and rid6obj like 'EU%';

update rid SET myygikood='Y' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and rid2obj like 'MPU%'; update rid SET rid3obj='MNOEU' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and rid2obj like 'MPU%'; update rid SET rid3obj='MEURO' where dokumnr=<<TRANSFORM(dok.dokumnr)>> and rid2obj like 'MPU%' and rid6obj like 'EU%';



--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to