Re: make MaxBackends available in _PG_init
От
Robert Haas
Тема
Re: make MaxBackends available in _PG_init
Дата
Msg-id
CA+TgmoZoyOKcE4TpAExHNSvfwE8Q_Y-tDvASN783Zb870pwKAA@mail.gmail.com
Ответ на
Re: make MaxBackends available in _PG_init (Bossart, Nathan)
Список
Дерево обсуждения
make MaxBackends available in _PG_init "Wang, Shenhao" <wangsh.fnst@cn.fujitsu.com>
Re: make MaxBackends available in _PG_init Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: make MaxBackends available in _PG_init Andres Freund <andres@anarazel.de>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
Re: make MaxBackends available in _PG_init Andres Freund <andres@anarazel.de>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
Re: make MaxBackends available in _PG_init Andres Freund <andres@anarazel.de>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
RE: make MaxBackends available in _PG_init "wangsh.fnst@fujitsu.com" <wangsh.fnst@fujitsu.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
Re: make MaxBackends available in _PG_init Greg Sabino Mullane <htamfids@gmail.com>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
Re: make MaxBackends available in _PG_init Greg Sabino Mullane <htamfids@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Greg Sabino Mullane <htamfids@gmail.com>
RE: make MaxBackends available in _PG_init "wangsh.fnst@fujitsu.com" <wangsh.fnst@fujitsu.com>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
Re: make MaxBackends available in _PG_init Fujii Masao <masao.fujii@oss.nttdata.com>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init "Bossart, Nathan" <bossartn@amazon.com>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Andres Freund <andres@anarazel.de>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Andres Freund <andres@anarazel.de>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Andres Freund <andres@anarazel.de>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init "Anton A. Melnikov" <aamelnikov@inbox.ru>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init "Anton A. Melnikov" <aamelnikov@inbox.ru>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Robert Haas <robertmhaas@gmail.com>
Re: make MaxBackends available in _PG_init Tom Lane <tgl@sss.pgh.pa.us>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Nathan Bossart <nathandbossart@gmail.com>
Re: make MaxBackends available in _PG_init Julien Rouhaud <rjuju123@gmail.com>
Re: make MaxBackends available in _PG_init Michael Paquier <michael@paquier.xyz>
On Fri, Jan 7, 2022 at 1:09 PM Bossart, Nathan wrote: > I wouldn't be surprised to learn of other cases, but I've only > encountered this specific issue with MaxBackends. I think MaxBackends > is notable because it is more likely to be used by preloaded libraries > but is intentionally initialized after loading them. As noted in > an earlier message on this thread [0], using MaxBackends in a call to > RequestAddinShmemSpace() in _PG_init() may not reliably cause > problems, too. Yes, I think MaxBackends is a particularly severe case. I've seen this problem with that GUC multiple times, and never with any other one. > > It seems overkill to remove "extern" from MaxBackends and replace MaxBackends with GetMaxBackends() in the existing PostgreSQL codes. I'm not sure how much it's actually worth doing that. Instead, isn't it enough to just add the comment like "Use GetMaxBackends() if you want to treat the lookup for uninitialized MaxBackends as an error" in the definition of MaxBackends? > > While that approach would provide a way to safely retrieve the value, > I think it would do little to prevent the issue in practice. If the > size of the patch is a concern, we could also convert MaxBackends into > a macro for calling GetMaxBackends(). This could also be a nice way > to avoid breaking extensions that are using it correctly while > triggering ERRORs for extensions that are using it incorrectly. I've > attached a new version of the patch that does it this way. That's too magical for my taste. -- Robert Haas EDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления
От: Robert Haas
Дата: