From:
Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
To:
"'Robert Haas'" <robertmhaas(at)gmail(dot)com>
Cc:
"'Greg Smith'" <greg(at)2ndquadrant(dot)com>, "'Josh Berkus'" <josh(at)agliodbs(dot)com>,
"'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>,
"'Magnus Hagander'" <magnus(at)hagander(dot)net>,
"'Christopher Browne'" <cbbrowne(at)gmail(dot)com>,
"'PostgreSQL-development'"<pgsql-hackers(at)postgresql(dot)org>
Subject:
Re: Proposal for Allow postgresql.conf values to be changed via SQL
Date:
2012-11-16 14:08:30
Message-ID:
00be01cdc403$dbe33920$93a9ab60$@kapila@huawei.com (view raw or flat )
Thread:
2012-10-29 13:40:56 from Chris Corbyn <chris(at)w3style(dot)co(dot)uk>
2012-10-29 14:14:27 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-10-30 22:02:25 from Hannu Krosing <hannu(at)2ndQuadrant(dot)com>
2012-10-31 04:02:35 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-10-30 21:25:23 from Josh Berkus <josh(at)agliodbs(dot)com>
2012-10-30 21:47:34 from Christopher Browne <cbbrowne(at)gmail(dot)com>
2012-10-30 21:54:57 from Josh Berkus <josh(at)agliodbs(dot)com>
2012-10-30 22:24:20 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-10-30 22:28:18 from Andres Freund <andres(at)2ndquadrant(dot)com>
2012-10-31 03:39:34 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-10-31 16:51:56 from Josh Berkus <josh(at)agliodbs(dot)com>
2012-11-01 04:00:05 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-02 16:00:11 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2012-10-30 22:43:40 from Josh Berkus <josh(at)agliodbs(dot)com>
2012-10-31 03:33:39 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-10-31 12:17:53 from Magnus Hagander <magnus(at)hagander(dot)net>
2012-11-01 07:35:04 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-02 01:19:51 from Greg Smith <greg(at)2ndQuadrant(dot)com>
2012-11-02 11:17:40 from Magnus Hagander <magnus(at)hagander(dot)net>
2012-11-07 23:54:15 from Greg Smith <greg(at)2ndQuadrant(dot)com>
2012-11-08 14:53:10 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-02 15:34:18 from Greg Stark <stark(at)mit(dot)edu>
2012-11-03 01:38:49 from Josh Berkus <josh(at)agliodbs(dot)com>
2012-11-06 11:26:36 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-06 18:00:06 from Robert Haas <robertmhaas(at)gmail(dot)com>
2012-11-07 04:19:06 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-07 15:23:42 from Magnus Hagander <magnus(at)hagander(dot)net>
2012-11-07 16:53:49 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-11-07 17:09:46 from Magnus Hagander <magnus(at)hagander(dot)net>
2012-11-07 17:19:14 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-11-07 17:24:23 from Magnus Hagander <magnus(at)hagander(dot)net>
2012-11-07 17:29:03 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-11-07 18:47:54 from Robert Haas <robertmhaas(at)gmail(dot)com>
2012-11-07 18:58:13 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-11-07 19:50:14 from Josh Berkus <josh(at)agliodbs(dot)com>
2012-11-07 20:15:07 from Robert Haas <robertmhaas(at)gmail(dot)com>
2012-11-07 20:29:36 from Andres Freund <andres(at)2ndquadrant(dot)com>
2012-11-08 14:26:27 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-08 14:36:32 from Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
2012-11-08 15:01:29 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-08 15:18:07 from Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
2012-11-10 04:59:19 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-12 06:37:55 from Greg Smith <greg(at)2ndQuadrant(dot)com>
2012-11-12 14:17:01 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-11-13 03:59:57 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-13 18:13:08 from Josh Berkus <josh(at)agliodbs(dot)com>
2012-11-13 18:16:11 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-11-13 18:45:16 from Robert Haas <robertmhaas(at)gmail(dot)com>
2012-11-14 06:24:33 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-13 18:54:45 from Robert Haas <robertmhaas(at)gmail(dot)com>
2012-11-14 05:09:53 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-15 14:48:14 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-15 17:58:06 from Cédric Villemain <cedric(at)2ndquadrant(dot)com>
2012-11-16 06:16:09 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-16 08:24:38 from Cédric Villemain <cedric(at)2ndquadrant(dot)com>
2012-11-16 09:58:06 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-16 14:08:30 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-16 14:22:22 from Cédric Villemain <cedric(at)2ndquadrant(dot)com>
2012-11-17 13:25:34 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-17 21:38:03 from Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
2012-11-17 21:57:49 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-11-18 09:52:24 from Cédric Villemain <cedric(at)2ndquadrant(dot)com>
2012-11-19 07:04:27 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-19 07:01:00 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-19 14:22:31 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2012-11-19 14:46:55 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-19 15:05:56 from Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
2012-11-19 15:36:58 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-20 13:51:28 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-22 12:38:42 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-22 16:39:26 from Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
2012-11-23 09:56:56 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-23 16:40:54 from Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
2012-11-24 05:10:45 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-24 17:26:02 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-11-25 05:01:12 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-28 14:47:44 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-30 19:39:17 from Robert Haas <robertmhaas(at)gmail(dot)com>
2012-11-30 19:59:33 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-12-01 08:09:04 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-12-01 16:30:09 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-12-01 16:45:33 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-12-02 05:48:25 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-12-03 15:19:41 from Robert Haas <robertmhaas(at)gmail(dot)com>
2012-12-03 15:28:31 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-12-04 03:07:00 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-12-06 04:42:31 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-12-04 03:22:44 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-12-02 05:19:34 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-12-03 11:38:17 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-12-03 15:21:12 from Robert Haas <robertmhaas(at)gmail(dot)com>
2012-12-03 15:32:31 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-12-03 15:41:21 from Andrew Dunstan <andrew(at)dunslane(dot)net>
2012-12-10 23:54:58 from Jaime Casanova <jaime(at)2ndquadrant(dot)com>
2012-12-11 10:47:54 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-12-11 15:21:47 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2012-11-19 05:38:32 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-14 15:11:16 from Amit kapila <amit(dot)kapila(at)huawei(dot)com>
2012-11-08 14:50:59 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-10-31 09:07:11 from Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
2012-10-30 22:10:41 from Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Lists:
pgsql-hackers
On Thursday, November 15, 2012 8:18 PM Amit kapila wrote:
> On Wednesday, November 14, 2012 12:24 AM Robert Haas wrote:
> On Mon, Nov 12, 2012 at 10:59 PM, Amit kapila <amit(dot)kapila(at)huawei(dot)com>
> wrote:
>
> > Uh, no, I don't think that's a good idea. IMHO, what we should do is:
>
> > 1. Read postgresql.conf.auto and remember all the settings we saw. If
> we see something funky like an include directive, barf.
> > 2. Forget the value we remembered for the particular setting being
> changed. Instead, remember the user-supplied new value for that
> parameter.
> > 3. Write a new postgresql.conf.auto based on the information
> remembered in steps 1 and 2.
>
> Attached patch contains implementaion for above concept.
> It can be changed to adapt the write file based on GUC variables as
> described by me yesterday or in some other better way.
>
> Currenty to remember and forget, I have used below concept:
> 1. Read postgresql.auto.conf in memory.
> 2. parse the GUC_file for exact loction of changed variable 3. update
> the changed variable in memory at location found in step-2 4. Write the
> postgresql.auto.conf
>
> Overall changes:
> 1. include dir in postgresql.conf at time of initdb 2. new built-in
> function pg_change_conf to change configuration settings 3. write file
> as per logic described above.
>
> Some more things left are:
> 1. Transactional capability to command, so that rename of .lock file to
> .auto.conf can be done at commit time.
About transaction capability, I think it will be difficult to implement it
in transaction block,
because during Rollback to savepoint it is difficult to rollback (delete the
file), as there is no track of changes w.r.t
Savepoint.
So to handle, we can do one of the following:
1. Handle it at command level only
2. Don't allow this command in transaction blocks
3. Rollback to Savepoint will have no effect w.r.t this command, only when
top transaction commits/rollback,
It commit/rollback the file.
IMO, option-2 is better.
Suggestions/Comments?
With Regards,
Amit Kapila.
In response to
Responses
pgsql-hackers by date
Next :From: Robert HaasDate: 2012-11-16 14:11:07
Subject : Re: tuplesort memory usage: grow_memtuples
Previous :From : Andres FreundDate : 2012-11-16 14:05:32
Subject : Re: logical changeset generation v3 - comparison to
Postgres-R change set format