Re: dsa_allocate() faliure

From: Jakub Glapa <jakub(dot)glapa(at)gmail(dot)com>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, Fabio Isabettini <fisabettini(at)voipfuture(dot)com>, Arne Roland <A(dot)Roland(at)index(dot)de>, Sand Stone <sand(dot)m(dot)stone(at)gmail(dot)com>, Rick Otten <rottenwindfish(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: dsa_allocate() faliure
Date: 2019-02-07 10:10:44
Message-ID: CAJk1zg1aD9QieKBR0BzewDWFxbio+XakDFE7NcYzOk0JSm0tMg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-performance

> Do you have query logging enabled ? If not, could you consider it on at
least
one of those servers ? I'm interested to know what ELSE is running at the
time
that query failed.

Ok, I have configured that and will enable in the time window when the
errors usually occur. I'll report as soon as I have something.

--
regards,
pozdrawiam,
Jakub Glapa

On Thu, Feb 7, 2019 at 12:21 AM Justin Pryzby <pryzby(at)telsasoft(dot)com> wrote:

> Moving to -hackers, hopefully it doesn't confuse the list scripts too much.
>
> On Mon, Feb 04, 2019 at 08:52:17AM +0100, Jakub Glapa wrote:
> > I see the error showing up every night on 2 different servers. But it's a
> > bit of a heisenbug because If I go there now it won't be reproducible.
>
> Do you have query logging enabled ? If not, could you consider it on at
> least
> one of those servers ? I'm interested to know what ELSE is running at the
> time
> that query failed.
>
> Perhaps you could enable query logging JUST for the interval of time that
> the
> server usually errors ? The CSV logs can be imported to postgres for
> analysis.
> You might do something like SELECT
> left(message,99),COUNT(1),max(session_id) FROM postgres_log WHERE log_time
> BETWEEN .. AND .. GROUP BY 1 ORDER BY 2;
> And just maybe there'd be a query there that only runs once per day which
> would
> allow reproducing the error at will. Or utility command like vacuum..
>
> I think ideally you'd set:
>
> log_statement = all
> log_min_messages = info
> log_destination = 'stderr,csvlog'
> # stderr isn't important for this purpose, but I keep it set to capture
> crash messages, too
>
> You should set these to something that works well at your site:
>
> log_rotation_age = '2min'
> log_rotation_size = '32MB'
>
> I would normally set these, and I don't see any reason why you wouldn't set
> them too:
>
> log_checkpoints = on
> log_lock_waits = on
> log_temp_files = on
> log_min_error_statement = notice
> log_temp_files = 0
> log_min_duration_statement = '9sec'
> log_autovacuum_min_duration = '999sec'
>
> And I would set these too but maybe you'd prefer to do something else:
>
> log_directory = /var/log/postgresql
> log_file_mode = 0640
> log_filename = postgresql-%Y-%m-%d_%H%M%S.log
>
> Justin
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2019-02-07 10:21:45 Re: speeding up planning with partitions
Previous Message Ideriha, Takeshi 2019-02-07 09:40:12 RE: Protect syscache from bloating with negative cache entries

Browse pgsql-performance by date

  From Date Subject
Next Message Mai Peng 2019-02-07 10:38:01 Transaction size and Wal2Json
Previous Message Justin Pryzby 2019-02-06 23:21:11 Re: dsa_allocate() faliure