Обсуждение: Bug - DatabaseMetaData.getCatalogs() was [Novice] Can't get list of databases with \list
Bug - DatabaseMetaData.getCatalogs() was [Novice] Can't get list of databases with \list
От
Richard Broersma
Дата:
On Mon, Nov 2, 2009 at 1:05 PM, Christopher Frank <c.frank@gmail.com> wrote: >> > As for JDBC, there may be something that gives equivalent information, >> > but I >> > couldn't find it. >> >> http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html >> >> getCatalogs() > I had tried that but it only returned one database, the database to which I > was already connected. There should have been 3 others. I verified that the DatabaseMetaData.getCatalogs() only returns a ResultSet with the currently connect database rather than all of the databases in the PostgreSQL cluster. I see there was a previous discussion on this topic, stating that Databases and Catalogs are not the same, so only returning the currently connected database is correct: http://archives.postgresql.org/pgsql-jdbc/2007-02/msg00112.php However, calling the DatabaseMetaData.getCatalogTerm() function states that the PostgreSQL's equivalent to a Catalog is a "database". For this reason, it seems reasonable to me that getCatalogs() should return a listing off all PostgreSQL databases. If one really only wants the currently connected database, Connection.getCatalog() will suffice. -- Regards, Richard Broersma Jr. Visit the Los Angeles PostgreSQL Users Group (LAPUG) http://pugs.postgresql.org/lapug
2009/11/3 Richard Broersma <richard.broersma@gmail.com>: > On Mon, Nov 2, 2009 at 1:05 PM, Christopher Frank <c.frank@gmail.com> wrote: > >>> > As for JDBC, there may be something that gives equivalent information, >>> > but I >>> > couldn't find it. >>> >>> http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData.html >>> >>> getCatalogs() > >> I had tried that but it only returned one database, the database to which I >> was already connected. There should have been 3 others. > > I verified that the DatabaseMetaData.getCatalogs() only returns a > ResultSet with the currently connect database rather than all of the > databases in the PostgreSQL cluster. What does it do when you have multiple schemas (schemata?) in the database? -- Michael Wood <esiotrot@gmail.com>
Re: Bug - DatabaseMetaData.getCatalogs() was [Novice] Can't get list of databases with \list
От
Richard Broersma
Дата:
On Tue, Nov 3, 2009 at 10:29 AM, Michael Wood <esiotrot@gmail.com> wrote: > What does it do when you have multiple schemas (schemata?) in the database? It returns a ResultSet listing all of the schemas: Where is what I get when I tested it: a b c information_schema pg_catalog pg_toast_temp_1 public -- Regards, Richard Broersma Jr. Visit the Los Angeles PostgreSQL Users Group (LAPUG) http://pugs.postgresql.org/lapug
Re: Bug - DatabaseMetaData.getCatalogs() was [Novice] Can't get list of databases with \list
От
Francisco Leovey
Дата:
A simple query select datname from pg_database will return all the database names --- On Tue, 11/3/09, Richard Broersma <richard.broersma@gmail.com> wrote:
|
On Tue, 3 Nov 2009, Richard Broersma wrote: > I verified that the DatabaseMetaData.getCatalogs() only returns a > ResultSet with the currently connect database rather than all of the > databases in the PostgreSQL cluster. > The previous discussion to refer to is probably: http://archives.postgresql.org/pgsql-jdbc/2004-01/msg00164.php Crippling getCatalogs was the best proposed solution to the fact that no other catalog based functionality existed (or could). Kris Jurka