Обсуждение: "\d tablename" to get column name, and column type by using JDBC

Поиск
Список
Период
Сортировка

"\d tablename" to get column name, and column type by using JDBC

От
Ying Lu
Дата:
Hello,

Under mysql, we have "desc tablename" to get the detail information
about a table. My question is about to get column name, and column type
for a specific table under PostgreSQL through JDBC.

Assume we have a table named "test". Under PSQL, we can input "\d test"
to see the details about table "test" successufully.  However, my main
purpose is trying to get column name, column name of a table through JDBC.

The following is the java code, by which I always get "   ERROR: syntax
error at or near "\"      ".

Some clues?
Emi

====================================================================================
            Connection connection     = DriverManager.getConnection(url,
"abc", "abc");      //username and pwd is "abc"
            Statement stmt             = connection.createStatement();
            String query                = "\\d test";
            System.out.println("query: "+query);
            ResultSet rs                 = stmt.executeQuery(query);





Re: "\d tablename" to get column name, and column type by using JDBC

От
Paul Thomas
Дата:
On 02/09/2004 15:52 Ying Lu wrote:
> Hello,
>
> Under mysql, we have "desc tablename" to get the detail information
> about a table. My question is about to get column name, and column type
> for a specific table under PostgreSQL through JDBC.
>
> Assume we have a table named "test". Under PSQL, we can input "\d test"
> to see the details about table "test" successufully.  However, my main
> purpose is trying to get column name, column name of a table through
> JDBC.
>
> The following is the java code, by which I always get "   ERROR: syntax
> error at or near "\"      ".
>
> Some clues?

The \d command is a psql client feature. I has nothing to do with JDBC and
is not built into the server back-end (a few moments reading the source
code for psql would have shown you this). To obtain metadata through JDBC,
use the standard provided classes. If you don't know how to that then you
really need to learn JDBC. There's a good introductory tutorial on
java.sun.com

--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for
Business             |
| Computer Consultants         |
http://www.thomas-micro-systems-ltd.co.uk   |
+------------------------------+---------------------------------------------+

R: "\d tablename" to get column name, and column type by using JDBC

От
"Leonardo Francalanci"
Дата:
have a look at java.sql.Connection.getDatabaseMetadata()
(and the object, java.sql.DatabaseMetaData it returns)


> -----Messaggio originale-----
> Da: pgsql-general-owner@postgresql.org
> [mailto:pgsql-general-owner@postgresql.org]Per conto di Ying Lu
> Inviato: giovedì 2 settembre 2004 16.53
> A: pgsql-general@postgresql.org
> Oggetto: [GENERAL] "\d tablename" to get column name, and column type by
> using JDBC
>
>
> Hello,
>
> Under mysql, we have "desc tablename" to get the detail information
> about a table. My question is about to get column name, and column type
> for a specific table under PostgreSQL through JDBC.
>
> Assume we have a table named "test". Under PSQL, we can input "\d test"
> to see the details about table "test" successufully.  However, my main
> purpose is trying to get column name, column name of a table through JDBC.
>
> The following is the java code, by which I always get "   ERROR: syntax
> error at or near "\"      ".
>
> Some clues?
> Emi
>
> ==================================================================
> ==================
>             Connection connection     = DriverManager.getConnection(url,
> "abc", "abc");      //username and pwd is "abc"
>             Statement stmt             = connection.createStatement();
>             String query                = "\\d test";
>             System.out.println("query: "+query);
>             ResultSet rs                 = stmt.executeQuery(query);
>
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>


Re: "\d tablename" to get column name, and column type by

От
Doug McNaught
Дата:
Ying Lu <ying_lu@cs.concordia.ca> writes:

> Hello,
>
> Under mysql, we have "desc tablename" to get the detail information
> about a table. My question is about to get column name, and column
> type for a specific table under PostgreSQL through JDBC.
>
> Assume we have a table named "test". Under PSQL, we can input "\d
> test" to see the details about table "test" successufully.  However,
> my main purpose is trying to get column name, column name of a table
> through JDBC.

The backslash commands are specific to 'psql'.  From Java you'll need
to query the INFORMATION_SCHEMA or the system catalogs.

-Doug
--
Let us cross over the river, and rest under the shade of the trees.
   --T. J. Jackson, 1863

Re: "\d tablename" to get column name, and column type

От
Ying Lu
Дата:
Thanks a lot. Now I got it.


Doug McNaught wrote:

>Ying Lu <ying_lu@cs.concordia.ca> writes:
>
>
>
>>Hello,
>>
>>Under mysql, we have "desc tablename" to get the detail information
>>about a table. My question is about to get column name, and column
>>type for a specific table under PostgreSQL through JDBC.
>>
>>Assume we have a table named "test". Under PSQL, we can input "\d
>>test" to see the details about table "test" successufully.  However,
>>my main purpose is trying to get column name, column name of a table
>>through JDBC.
>>
>>
>
>The backslash commands are specific to 'psql'.  From Java you'll need
>to query the INFORMATION_SCHEMA or the system catalogs.
>
>-Doug
>
>