Обсуждение: 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
Вложения
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