From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Prevent conflicting SET options from being set |
Date: | 2005-03-21 15:29:30 |
Message-ID: | 19769.1111418970@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu> writes:
> In this design, our ability to check the conflicting SET or give suggestions
> is contributed by SQL's functionality. This is good I think.
This is out of the question, because we have to be able to execute SET
in environments where we don't have database access nor the ability to
run transactions (eg, postmaster startup). Nor is it obvious that SQL
is the most useful language to make such checks in anyway. For instance
a SQL command wouldn't have access to internal backend state, which it
might need to decide if a setting is valid.
We already have the ability to issue custom messages in assign_hooks,
and I think that's sufficient in practice.
A bigger problem with making cross-variable validity checks is that you
can't really do it per-variable without falling foul of ordering
considerations. For instance, the existing checks in
assign_stage_log_stats and assign_log_stats are ill-considered because
they may reject a postgresql.conf file that turns one variable on before
turning the other off.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Matthew T. O'Connor | 2005-03-21 18:52:07 | Re: Excessive growth of pg_attribute and other system tables |
Previous Message | Qingqing Zhou | 2005-03-21 09:56:44 | Prevent conflicting SET options from being set |