Thread: Improve psql \d output
Example: test=# \d test Table "public.test" Column | Type | Modifiers --------+---------+----------- a | integer | not null Indexes: "test_pkey" PRIMARY KEY btree (a) Check Constraints: "$2" CHECK (a > 1) Foreign Key Constraints: "$1" FOREIGN KEY (a) REFERENCES parent(b) Rules: myrule AS ON INSERT TO test DO INSTEAD NOTHING Triggers: "asdf asdf" AFTER INSERT OR DELETE ON test FOR EACH STATEMENT EXECUTE PROCEDURE update_pg_pwd_and_pg_group(), mytrigger AFTER INSERT OR DELETE ON test FOR EACH ROW EXECUTE PROCEDURE update_pg_pwd_and_pg_group() I have minimised the double quoting of identifiers as much as I could easily, and I will submit another patch when I have time to work on it that will use a 'fmtId' function to determine it exactly. I think it's a significant improvement in legibility... Obviously the table example above is slightly degenerate in that not many tables in production have heaps of (non-constraint) triggers and rules. Chris
Attachment
Your patch has been added to the PostgreSQL unapplied patches list at: http://momjian.postgresql.org/cgi-bin/pgpatches I will try to apply it within the next 48 hours. --------------------------------------------------------------------------- Christopher Kings-Lynne wrote: > Example: > > test=# \d test > Table "public.test" > Column | Type | Modifiers > --------+---------+----------- > a | integer | not null > Indexes: > "test_pkey" PRIMARY KEY btree (a) > Check Constraints: > "$2" CHECK (a > 1) > Foreign Key Constraints: > "$1" FOREIGN KEY (a) REFERENCES parent(b) > Rules: > myrule AS ON INSERT TO test DO INSTEAD NOTHING > Triggers: > "asdf asdf" AFTER INSERT OR DELETE ON test FOR EACH STATEMENT EXECUTE > PROCEDURE update_pg_pwd_and_pg_group(), > mytrigger AFTER INSERT OR DELETE ON test FOR EACH ROW EXECUTE PROCEDURE > update_pg_pwd_and_pg_group() > > I have minimised the double quoting of identifiers as much as I could > easily, and I will submit another patch when I have time to work on it that > will use a 'fmtId' function to determine it exactly. > > I think it's a significant improvement in legibility... > > Obviously the table example above is slightly degenerate in that not many > tables in production have heaps of (non-constraint) triggers and rules. > > Chris [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
Patch applied. Thanks. --------------------------------------------------------------------------- Christopher Kings-Lynne wrote: > Example: > > test=# \d test > Table "public.test" > Column | Type | Modifiers > --------+---------+----------- > a | integer | not null > Indexes: > "test_pkey" PRIMARY KEY btree (a) > Check Constraints: > "$2" CHECK (a > 1) > Foreign Key Constraints: > "$1" FOREIGN KEY (a) REFERENCES parent(b) > Rules: > myrule AS ON INSERT TO test DO INSTEAD NOTHING > Triggers: > "asdf asdf" AFTER INSERT OR DELETE ON test FOR EACH STATEMENT EXECUTE > PROCEDURE update_pg_pwd_and_pg_group(), > mytrigger AFTER INSERT OR DELETE ON test FOR EACH ROW EXECUTE PROCEDURE > update_pg_pwd_and_pg_group() > > I have minimised the double quoting of identifiers as much as I could > easily, and I will submit another patch when I have time to work on it that > will use a 'fmtId' function to determine it exactly. > > I think it's a significant improvement in legibility... > > Obviously the table example above is slightly degenerate in that not many > tables in production have heaps of (non-constraint) triggers and rules. > > Chris [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073