Re: datistemplate of pg_database does not behave as per description in documentation
От | Magnus Hagander |
---|---|
Тема | Re: datistemplate of pg_database does not behave as per description in documentation |
Дата | |
Msg-id | CABUevEwOHzwSPnzXKk5dy3hQP9GOsd=b7s9cK1VwewywEYqBtA@mail.gmail.com обсуждение исходный текст |
Ответ на | datistemplate of pg_database does not behave as per description in documentation (Rajeev rastogi <rajeev.rastogi@huawei.com>) |
Ответы |
Re: datistemplate of pg_database does not behave as per
description in documentation
Re: datistemplate of pg_database does not behave as per description in documentation |
Список | pgsql-hackers |
As per the documentation, datistemplate of pg_database is used in following way:
datistemplate
Bool
If true then this database can be used in the TEMPLATE clause of CREATE DATABASE to create a new database as a clone of this one
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.
postgres=# select datname, datistemplate from pg_database;
datname | datistemplate
-----------+---------------
template1 | t
template0 | t
postgres | f
(3 rows)
postgres=# create database tempdb template postgres; ---Actually this should fail.
CREATE DATABASE
Though I am not sure if we have to modify source code to align the behavior with documentation or we need to change the documentation itself.
To me it looks like code change will be better, so I am attaching the current patch with source code change. After modification, result will be as follows:
postgres=# create database newtempdb template postgres;
ERROR: DB name "postgres" given as template is not a template database
Please provide your feedback.
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
В списке pgsql-hackers по дате отправления: