Following discussion (http://archives.postgresql.org/pgsql-hackers/2006-03/msg01208.php) here's a patch to add tablespace to the output of psql's \l+. New output (with psql -E) looks like this:
pyarra=# \l+ ********* QUERY ********** SELECT d.datname as "Name", r.rolname as "Owner", pg_catalog.pg_encoding_to_char(d.encoding) as "Encoding", pg_catalog.shobj_description(d.oid, 'pg_database') as "Description", t.spcname as "Tablespace" FROM pg_catalog.pg_database d JOIN pg_catalog.pg_roles r ON d.datdba = r.oid JOIN pg_catalog.pg_tablespace t on d.dattablespace = t.oid ORDER BY 1; ************************** List of databases Name | Owner | Encoding | Description | Tablespace -----------+--------+----------+---------------------------+------------ postgres | pyarra | LATIN1 | | pg_default pyarra | pyarra | LATIN1 | | pg_default spctest | pyarra | LATIN1 | | spctable template0 | pyarra | LATIN1 | | pg_default template1 | pyarra | LATIN1 | Default template database | pg_default (5 rows) Please let me know if this patch needs any changes for acceptance. I would prefer the tablespace row to the left of Description, but opted for minimal change to get patch accepted. Will re-order them if others are in favour. Regards, Philip. ----------------- Utiba Pty Ltd This message has been scanned for viruses and dangerous content by Utiba mail server and is believed to be clean.
Index: src/bin/psql/describe.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/bin/psql/describe.c,v retrieving revision 1.133 diff -c -r1.133 describe.c *** src/bin/psql/describe.c 5 Mar 2006 15:58:51 -0000 1.133 --- src/bin/psql/describe.c 30 Mar 2006 00:23:57 -0000 *************** *** 362,375 **** ",\n pg_catalog.pg_encoding_to_char(d.encoding) as \"%s\"", _("Encoding")); if (verbose) appendPQExpBuffer(&buf, ",\n pg_catalog.shobj_description(d.oid, 'pg_database') as \"%s\"", _("Description")); appendPQExpBuffer(&buf, "\nFROM pg_catalog.pg_database d" ! "\n JOIN pg_catalog.pg_roles r ON d.datdba = r.oid\n" ! "ORDER BY 1;"); ! res = PSQLexec(buf.data, false); termPQExpBuffer(&buf); if (!res) --- 362,382 ---- ",\n pg_catalog.pg_encoding_to_char(d.encoding) as \"%s\"", _("Encoding")); if (verbose) + { appendPQExpBuffer(&buf, ",\n pg_catalog.shobj_description(d.oid, 'pg_database') as \"%s\"", _("Description")); + appendPQExpBuffer(&buf, + ",\n t.spcname as \"%s\"", + _("Tablespace")); + } appendPQExpBuffer(&buf, "\nFROM pg_catalog.pg_database d" ! "\n JOIN pg_catalog.pg_roles r ON d.datdba = r.oid\n"); ! if (verbose) ! appendPQExpBuffer(&buf, ! " JOIN pg_catalog.pg_tablespace t on d.dattablespace = t.oid\n"); ! appendPQExpBuffer(&buf,"ORDER BY 1;"); res = PSQLexec(buf.data, false); termPQExpBuffer(&buf); if (!res)
---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly