Re: I can't get the database's list - Mailing list pgsql-jdbc

From Craig Ringer
Subject Re: I can't get the database's list
Date
Msg-id 4C0F3130.4010405@postnewspapers.com.au
Whole thread Raw
In response to Re: I can't get the database's list  (Kris Jurka <books@ejurka.com>)
List pgsql-jdbc
On 09/06/10 14:09, Kris Jurka wrote:
>
>
> On Tue, 8 Jun 2010, miguel manzano wrote:
>
>> I try to obtain the database's list in my instalation but when I use :
>>
>> System.out.println("Driver : ");
>>         System.out.println("   " + md.getDatabaseProductName() );
>>         System.out.println("   " + md.getDatabaseProductVersion() );
>>         ResultSet catalogRs = md.getCatalogs();
>>
>>         while ( catalogRs.next() ){
>>
>>            System.out.println("Catalog " + catalogRs.getString(1));
>>            ResultSet tableRs =
>> md.getTables(catalogRs.getString(1),"%","%",(String []) null);
>>            }
>>        }
>> I just got only the name of the database at I have conected but the
>> another databases didn't figure in the list.
>
> The JDBC driver avoids returning all the databases on the server because
> it cannot access them.  It can only access the current database so that
> is all it returns from getCatalogs.  We made this decision intentionally
> to handle the exact situation that your next getTables call reveals.  If
> we returned other databases in getCatalogs, people would try to use them
> in other database metadata calls which would not work.

To elaborate: If you want to use queries "across databases" or otherwise
use more than one database in a single connection, you probably need to
use schema not databases to separate things.

PostgreSQL's "schema" are like MySQL's "databases"; they're ways of
dividing up naming of objects that live within the same storage space.

--
Craig Ringer

Tech-related writing: http://soapyfrogs.blogspot.com/

pgsql-jdbc by date:

Previous
From: Kris Jurka
Date:
Subject: Re: IllegalArgumentException in batch execution
Next
From: Michal Szymanski
Date:
Subject: Postgres and XA support problem.