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