Making automatically generated (default) constraint names a bit more useful as in the example below.  Instead of ~c(id) we now use ~(table_name)(_(column_name))*_(fkey|pkey|unique).  For inline created primary and unique keys I could not find a way to get the column name referenced.  (See unique in the example.)
Making automatically generated (default) constraint names a bit more
useful as in the example below.  Instead of ~c(id) we now use
~(table_name)(_(column_name))*_(fkey|pkey|unique).  For inline created
primary and unique keys I could not find a way to get the column name
referenced.  (See unique in the example.)

monetdb-> create table a (id1 int, id2 int, primary key(id1, id2));
Operation successful

monetdb-> create table b (val1 int, val2 int, val3 int unique, foreign key
(val1, val2) references a(id1, id2));
Operation successful

monetdb-> \d a
CREATE TABLE "sys"."a" (
        "id1" int       NOT NULL,
        "id2" int       NOT NULL,

        PRIMARY KEY ("id1", "id2") -- ~a_id1_id2_pkey
);
monetdb-> \d b
CREATE TABLE "sys"."b" (
        "val1" int,
        "val2" int,
        "val3" int,
        UNIQUE ("val3"), -- ~b_unique
        FOREIGN KEY ("val1", "val2") REFERENCES "sys"."a" ("id1", "id2")
-- ~b_val1_val2_fkey
);

zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb