会社で使っているシステムで、front-end と back-end の Database を分ける構成にした。
front-end は PostgreSQL でいいのだが、
back-end は MS SQL Server にし・・・・たかったが、
そこは夢も希望も無い屑会社、
まともにお金をかけようとしないんでやはり PostgreSQL ということになった。

 で、front-end と back-end のやりとり、
どうしようかと検討。
PostgreSQL 本体には OpenQuery や database link みたいな
機能はなかったはずなので、
Perl で移そうと思ったが、
PostgreSQL のソースの contrib ディレクトリの中に
contrib/dblink があり、
それを使うと他の PostgreSQL にアクセスできるようになるので
back-end に入れて使うことにした。(front-end からは直接 back-end にアクセスすることはない。)

 Stored Function で分散トランザクションをすることになるのだが、本当に僕の書いたコード、大丈夫かなぁ。。。という
不安なしろものを作っていった。
(PostgreSQL の Stored Fuction で
エラー処理が出来ないってのがつらい。)

 で、どうしてもうまく動かないところがあり、
psql でコードを確かめながら実行する。
その途中で寝ぼけて

SELECT dblink(’SELECT count(*) FROM foo’);

みたいにしてしまい、落ちた。
どのレベルで落ちたかはよく分からないが、
本番環境の php が一時エラーを出していた。
(connection Pooling のからみ?)

setof record を返す関数は
注意しないといけないかもしれないなぁ。。。


 
Microsoft の MCP の アンケートに答えた最後の画面に
「NOP の世界はマイクロソフト株式会社に代わってこの調査を行なっている。ここにかちりと鳴らしなさいこの調査の信用を確認するため
のためにここにかちりと鳴らしなさいプライバシー規約」

・・・「ここにかちりと鳴らしなさい」?

・・・・「Click here」の訳か(笑)