先日、既存で動いている社内Webの更新作業(Flash→HTML5への更新)を某社でしてきましたが失敗しました。 事前に別途立ち上げたサーバ上を客先から直接参照していただいて正しく表示されることを確認していたため問題ないかと思ったのですが、既存で動作しているサーバ上のファイルを入れ替えたところ当社で作成していた画面がIE11上では「文字」だけが表示されCROMEではデザイン含めて表示されるという状態に・・・ 現場では理由が分からず持ち帰って調べた所、IISの設定でIE7モードに強制する設定がされているという事が分かりました。 そりゃあ、CSS使って作ってるからデザイン要素まったくなくなっちゃいますよね。 HTMLに <meta http-equiv="X-UA-Compatible" content="IE=edge"/> の1行(強制的に最新のレンダリングモードを指定する)を組み込んで無事表示できることを確認しました。 既存で動いているシステムを弄る時は、環境把握をキッチリしないといけないという教訓でした。 ※ちなみに今まで自社で作成したシステムにはこのタグが元々組み込まれていたため、問題になった事がありませんでした・・・
カテゴリーアーカイブ: 技術
自社製品開発のために注文していた機材が届きました。
PostgreSQL9.3のpostgres_fdwに問題
PostgreSQL9.3のpostgres_fdwはOracleを使い慣れた身としてはとてもありがたい機能です。
簡単にどんな機能かというと、別のDBに存在するテーブルを、まるで自分のDBのテーブルの様にSELECT/UPDATE/DELETEしたりJOINしたりできます。
OracleではDBLINK機能で当たり前のように出来ていたことだったので、この機能がリリースされた事に気が付くまではある機能実現が難しく途方に暮れていました。(どんな機能かは、また別途記述したいと思います)
無事その機能は実現できたのですが、最近判明したある問題が。
テーブルのリンクを使い終わってDBを切断すると、リンク先のDBのログに
2015-09-16 19:53:12 KST LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
こんな感じのログが出力されてます。
どうやらpostgres_fdwがリンク先のDBとの接続を強制的に切断しているのが原因の様です。
時々出る位なら良いのですが、今回作成した機能ではマルチスレッドで動作して、スレッド単位に接続/切断を行うためこのログが大量に出力される事に・・・・
postgres_fdwの前身のpgsql_fdwでは、任意に切断するpgsql_fdw_disconnect()という関数が用意されていたんですがね。postgres_fdwでは現状用意されていないよう。
さて、どう対応したら良いのか。
悩み中です。