Re: CREATE TABLE LIKE INCLUDING CONSTRAINTS
От | Greg Stark |
---|---|
Тема | Re: CREATE TABLE LIKE INCLUDING CONSTRAINTS |
Дата | |
Msg-id | 87u06l6rvx.fsf@stark.xeocode.com обсуждение исходный текст |
Ответ на | CREATE TABLE LIKE INCLUDING CONSTRAINTS (Greg Stark <gsstark@mit.edu>) |
Ответы |
Re: CREATE TABLE LIKE INCLUDING CONSTRAINTS
|
Список | pgsql-patches |
Fixed the bug, added docs and tests. The previous message explaining the patch: Greg Stark <gsstark@MIT.EDU> writes: > This patch implements an option to copy check constraints when using LIKE. > Because the standard specifically excludes constraints (except NOT NULL) from > being copied it defaults to off and has to be explicitly requested by the user > using the nonstandard extension "INCLUDING CONSTRAINTS". > > This is especially useful in combination with ALTER TABLE INHERIT since > without it there's no convenient way to create eligible tables for adding to > the inheritance tree. The user would have to manually reenter every check > constraint. > > Question: > > . Is nodeToString() the right thing here? > > Currently only check constraints are added because only check constraints are > handled by inheritance. I intend to add foreign key constraints when I add > them to the rest of inheritance which will necessitate a scan of pg_constraint > instead of using the relcache :( > > > postgres=# create table z (i integer check (i=0)); > CREATE TABLE > postgres=# create table zz (like z including constraints); > CREATE TABLE > postgres=# \d zz > Table "public.zz" > Column | Type | Modifiers > --------+---------+----------- > i | integer | > Check constraints: > "z_i_check" CHECK (i = 0) -- greg
Вложения
В списке pgsql-patches по дате отправления: