From: | danap(at)ttc-cmc(dot)net |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Cc: | "Tore Halset" <halset(at)pvv(dot)ntnu(dot)no> |
Subject: | Re: find foreign key name |
Date: | 2007-12-19 02:51:10 |
Message-ID: | 32833.216.129.226.47.1198032670.squirrel@www.webmail.mtintouch.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Hi Tore,
As Kris indicated perhaps FK_NAME should do it. I have
used something a little different Im not sure why unless
I looked a little closer, but this what I have
MyJSQLView Project
http://sourceforge.net/projects/myjsqlview/
Code | Browse | --- src/Panels/net/danap/myjsqlview
Class TableTabPanel_PostgreSQL.java Class Method
getColumnNames() ....
// Make a final check to see if there are any keys columns
// columns in the table. If not then try foreign keys.
if (primaryKeys.isEmpty())
{
rs = dbMetaData.getImportedKeys(tableMetaData.getCatalogName(1),
tableMetaData.getSchemaName(1),
tableMetaData.getTableName(1));
while (rs.next())
{
if (columnNamesHashMap.containsValue(rs.getString("PKCOLUMN_NAME")) &&
!primaryKeys.contains(rs.getString("PKCOLUMN_NAME")))
{
primaryKeys.add(rs.getString("PKCOLUMN_NAME"));
//System.out.println(rs.getString("PKCOLUMN_NAME"));
}
}
}
I was reluctant to access system catalogs directly in order to
derive the info. The above or FK_NAME would be a better way
to isolate from future changes in system catlogs.
dana
> On Dec 18, 2007, at 10:36 , Heikki Linnakangas wrote:
>
>> Tore Halset wrote:
>>> I want to programatically drop a foreign key constraint via jdbc.
>>> How can I find the foreign key name for a PostgreSQL foreign key
>>> via jdbc? I know all about the related tables and columns, but not
>>> the name of the constraint.
>>
>> You can query the pg_constraint catalog table:
>>
>> http://www.postgresql.org/docs/8.2/interactive/catalog-pg-constraint.html
>>
>> There seems to be some example queries in the user comments that you
>> might be interested.
>
> Thanks. I was hoping for something easy in
> DatabaseMetaData#getExportedKeys.. :) But looking at pg_constraint
> should work fine.
>
> Regards,
> - Tore.
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>
From | Date | Subject | |
---|---|---|---|
Next Message | Ken Johanson | 2007-12-19 05:30:06 | Re: Patch for Statement.getGeneratedKeys() |
Previous Message | Kris Jurka | 2007-12-18 21:10:40 | Re: pgsql jdbc setObject JAVA_OBJECT error |