Thread: Improve psql \d output

Improve psql \d output

From
"Christopher Kings-Lynne"
Date:
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

Re: Improve psql \d output

From
Bruce Momjian
Date:
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


Re: Improve psql \d output

From
Bruce Momjian
Date:
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