2009年10月4日日曜日

groovyとPostgreSQLでデータベースを列挙する

groovyとPostgreSQLでデータベースを列挙するには、以下のコードを実行します。


import groovy.sql.Sql

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

query = "select datname, \
pg_encoding_to_char(encoding) as encoding, \
datistemplate \
from pg_database"

sql.eachRow(query){
// データベース名
println "datname:${it.datname}"
// エンコーディング
println "encoding:${it.encoding}"
// テンプレートかどうか
println "datistemplate:${it.datistemplate}"
println "----"
}


出力結果例

datname:template1
encoding:UTF8
datistemplate:true
----
datname:template0
encoding:UTF8
datistemplate:true
----
datname:postgres
encoding:UTF8
datistemplate:false
----

省略


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

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

0 件のコメント:

コメントを投稿