2009年10月31日土曜日

groovyとPostgreSQLで制約を一覧表示する

groovyとPostgreSQLで制約を一覧表示するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:postgresql://localhost:5432/test1",
"postgres",
"postgres",
"org.postgresql.Driver")

query = """select
cls.relname,
cons.conname,
cons.contype,
cons.consrc
from
pg_constraint cons
join pg_class cls
on (cons.conrelid = cls.oid)
"""

sql.eachRow(query){
// テーブル名
println "relname:${it.relname}"
// 制約名
println "conname:${it.conname}"
// 制約タイプ
println "contype:${it.contype}"
// 制約場合、制約のexpression
println "consrc:${it.consrc}"
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update16, Postgres 8.4.0,
8.4-701JDBC4

関連情報
pg_constraint
http://www.postgresql.org/docs/8.4/interactive/catalog-pg-constraint.html

0 件のコメント:

コメントを投稿