Re: Null option and Default value Lost when use CREATE TABLE AS to backup a table.

Поиск
Список
Период
Сортировка
От Francisco Olarte
Тема Re: Null option and Default value Lost when use CREATE TABLE AS to backup a table.
Дата
Msg-id CA+bJJbyYHqpDY+LXtxpQcz=ZHD7+-BhvtkRk-ppUs8wZ-n28vQ@mail.gmail.com
обсуждение исходный текст
Ответ на Null option and Default value Lost when use CREATE TABLE AS to backup a table.  ("Xiao, Bing (Benny)" <bing.xiao@dxc.com>)
Список pgsql-bugs
Seems like wrong command used.
On Thu, 21 Oct 2021 at 12:18, Xiao, Bing (Benny) <bing.xiao@dxc.com> wrote:
> Create back up table.
>                create table contact_bckp as table contacts with data;

"Create table as" needs a select query. "table contacts" is just a
fancy way of saying "select * from contacts". Create table as uses a
query result to create, query results do not have constraints. It is
easier to see why if you replace "table contacts" with its
"expansion".

From the two different commands ( quoting the manual ).

CREATE TABLE — define a new table
CREATE TABLE AS — define a new table from the results of a query

You are using the second, you need the first, look specifically at the
LIKE options:

LIKE source_table [ like_option ... ]
The LIKE clause specifies a table from which the new table
automatically copies all column names, their data types, and their
not-null constraints.

And then copy the data with an insert/select ( I do not remember now
if you can do it in one step, I always do it in two ).

So, IMHO, not a bug, working as it should.

Francisco Olarte.



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Vik Fearing
Дата:
Сообщение: Re: Null option and Default value Lost when use CREATE TABLE AS to backup a table.
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #17241: llvm::install_bad_alloc_error_handler error