From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Magnus Hagander <magnus(at)hagander(dot)net> |
Cc: | Rajeev rastogi <rajeev(dot)rastogi(at)huawei(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: datistemplate of pg_database does not behave as per description in documentation |
Date: | 2014-03-27 11:45:52 |
Message-ID: | 31029.1395920752@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Magnus Hagander <magnus(at)hagander(dot)net> writes:
> On Thu, Mar 27, 2014 at 9:12 AM, Rajeev rastogi
> <rajeev(dot)rastogi(at)huawei(dot)com>wrote:
>> But current code does not behave in this manner. Even if dbistemplate of
>> database is false, still it allows to be used as template database.
> AFAICT, the *only* thing datistemplate is used is to set parameters in
> autovacuum.
Huh? The code comment is perfectly clear:
/*
* Permission check: to copy a DB that's not marked datistemplate, you
* must be superuser or the owner thereof.
*/
if (!src_istemplate)
{
if (!pg_database_ownercheck(src_dboid, GetUserId()))
ereport(ERROR,
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
errmsg("permission denied to copy database \"%s\"",
dbtemplate)));
}
I agree we need to make the docs match the code, but changing behavior
that's been like that for ten or fifteen years isn't the answer.
(Changing code and failing to adjust the adjacent comment is even less
of an answer.)
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2014-03-27 11:55:55 | Re: [HACKERS] New parameter RollbackError to control rollback behavior on error |
Previous Message | Stephen Frost | 2014-03-27 11:24:35 | Re: datistemplate of pg_database does not behave as per description in documentation |