<!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.198 2007/12/11 19:57:32 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.199 2008/03/30 18:10:20 tgl Exp $
PostgreSQL documentation
-->
<term><literal>\l+</literal> (or <literal>\list+</literal>)</term>
<listitem>
<para>
- List the names, owners, and character set encodings of all the databases in
- the server. If <literal>+</literal> is appended to the command
- name, database descriptions are also displayed.
+ List the names, owners, character set encodings, and access privileges
+ of all the databases in the server.
+ If <literal>+</literal> is appended to the command name, database
+ sizes, default tablespaces, and descriptions are also displayed.
+ (Size information is only available for databases that the current
+ user can connect to.)
</para>
</listitem>
</varlistentry>
*
* Copyright (c) 2000-2008, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.165 2008/03/30 17:50:11 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.166 2008/03/30 18:10:20 tgl Exp $
*/
#include "postgres_fe.h"
#include "describe.h"
printfPQExpBuffer(&buf,
"SELECT d.datname as \"%s\",\n"
" r.rolname as \"%s\",\n"
- " pg_catalog.pg_encoding_to_char(d.encoding) as \"%s\"",
+ " pg_catalog.pg_encoding_to_char(d.encoding) as \"%s\",\n"
+ " d.datacl as \"%s\"",
gettext_noop("Name"),
gettext_noop("Owner"),
- gettext_noop("Encoding"));
+ gettext_noop("Encoding"),
+ gettext_noop("Access Privileges"));
if (verbose)
{
+ appendPQExpBuffer(&buf,
+ ",\n CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')\n"
+ " THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname))\n"
+ " ELSE 'No Access'\n"
+ " END as \"%s\"",
+ gettext_noop("Size"));
appendPQExpBuffer(&buf,
",\n t.spcname as \"%s\"",
gettext_noop("Tablespace"));