« PC-9821処分 | Main | PostgreSQL JDBCドライバの各バージョン »

2009.01.29

PostgreSQLでdblink

 dblink・・・接続中のデータベースから、別のデータベースに接続するための関数。分散されているデータを結合して検索したりするときに有用?

 参考:PostgreSQLのdblink(database link)

 まずはdblink関数のインストール。openSUSE11.1でYaSTでpostgresql-contribパッケージをインストールしている場合、必要なSQLファイルが既にコピーされているので、psqlでそれを実行すればOK。

# psql -U postgres -d testdb < /usr/share/postgresql/contrib/dblink.sql

 なお、アンインストール用のSQLファイルも存在します(ひたすらDROPしていきます)。

# psql -U postgres -d testdb < /usr/share/postgresql/contrib/uninstall_dblink.sql

select文を発行する場合、

select dblink_connect('conn1',
'hostaddr=192.168.99.203 port=5432 dbname=testdb user=pguser password=pguser');

でリモートデータベースに接続し、
select * from dblink('conn1', 'select col1,col2,col3 from schema1.table1')
t1(col1 integer, col2 character(10), col3 timestamp);

でSELECT文実行。取得対象となるカラム名を全部定義する必要があるので、少し面倒かも・・・。

 ちなみに、コネクションを切断する場合は、

select dblink_disconnect('conn1');

のような感じです。

 とりあえず試しては見たものの、実際に(僕が)使う機会は出てくるんだろうか・・・(^^;

|

« PC-9821処分 | Main | PostgreSQL JDBCドライバの各バージョン »

DB」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/43854723

Listed below are links to weblogs that reference PostgreSQLでdblink:

« PC-9821処分 | Main | PostgreSQL JDBCドライバの各バージョン »