import groovy.sql.Sql
sql = Sql.newInstance(
"jdbc:postgresql://localhost:5432/jtrac",
"postgres",
"postgres",
"org.postgresql.Driver")
table = "users"
query = """select
pgc.relname as index_name,
pgct.relname as table_name,
pg_get_indexdef(pgi.indexrelid) as definition
from
pg_index pgi
join pg_class pgc
on (pgc.oid = pgi.indexrelid)
join pg_class pgct
on (pgct.oid = pgi.indrelid)
where
pgct.relname = ${table}
"""
sql.eachRow(query){
// インデックス名
println "index_name:${it.index_name}"
// インデックスが貼られているテーブル名
println "table_name:${it.table_name}"
// インデックスの定義
println "definition:${it.definition}"
println "----"
}
動作環境
Groovy 1.6.3, JDK6 Update16, Postgres 8.4.0,
8.4-701JDBC4
関連情報
pg_index
http://www.postgresql.org/docs/8.4/interactive/catalog-pg-index.html
pg_get_indexdef
http://www.postgresql.org/docs/8.4/interactive/functions-info.html#FUNCTIONS-INFO-CATALOG-TABLE
0 件のコメント:
コメントを投稿