RE: [EXTERNAL] Re: should we document an example to set multiple libraries in shared_preload_libraries?

From: "Godfrin, Philippe E" <Philippe(dot)Godfrin(at)nov(dot)com>
To: Maciek Sakrejda <m(dot)sakrejda(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: RE: [EXTERNAL] Re: should we document an example to set multiple libraries in shared_preload_libraries?
Date: 2021-12-10 18:10:54
Message-ID: SA0PR15MB39339E6DCB2CF4DA99DD87AA82719@SA0PR15MB3933.namprd15.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On Wed, Dec 1, 2021 at 5:15 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
> Justin Pryzby <pryzby(at)telsasoft(dot)com> writes:
> > +1 to document it, but it seems like the worse problem is allowing
> > +the admin to
> > write a configuration which causes the server to fail to start,
> > without having issued a warning.
>
> > I think you could fix that with a GUC check hook to emit a warning.
> > ...
>
> Considering the vanishingly small number of actual complaints we've
> seen about this, that sounds ridiculously over-engineered.
> A documentation example should be sufficient.

>I don't know if this will tip the scales, but I'd like to lodge a belated complaint. I've gotten myself in this server-fails-to-start situation several times (in development, for what it's worth). The syntax (as Bharath pointed out in the original message) is pretty picky, there are no guard rails, and if you got there through ALTER SYSTEM, you can't fix it with ALTER SYSTEM (because the server isn't up). If you go to fix it manually, you get a scary "Do not edit this file manually!" warning that you have to know to ignore in this case (that's if you find the file after you realize what the fairly generic
>"FATAL: ... No such file or directory" error in the log is telling you). Plus you have to get the (different!) quoting syntax right or cut your losses and delete the change.
>
>I'm over-dramatizing this a bit, but I do think there are a lot of opportunities to make mistakes here, and this behavior could be more user-friendly beyond just documentation changes. If a config change is bogus most likely due to a quoting mistake or a typo, a warning would be fantastic (i.e., the stat() check Justin suggested). Or maybe the FATAL log message on a failed startup could include the source of the problem?
>
>Thanks,
>Maciek

I may have missed something in this stream, but is this a system controlled by Patroni? In any case I to have gotten stuck like this. If this is a Patroni system, I've discovered that patroni either ides or prevents "out of memory" messages from getting into the db log. If it is patroni controlled, I've solved this by turning off Patroni, starting the DB using pg_ctl and then I can examine the log messages. With pg_ctl, you can edit the postgresql.conf and see what you can do. Alternatively, with the DCS you can make 'dynamic edits' to the system configuration without the db running. Use the patroni control utility to do an 'edit-config' to make the changes. Then reload the config (same utility) and then you can bring up the db with Patroni...

Smiles,
phil

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2021-12-10 18:33:48 Re: speed up verifying UTF-8
Previous Message Godfrin, Philippe E 2021-12-10 17:46:01 RE: [EXTERNAL] Re: track_io_timing default setting