SQL開発環境ソフトのCommon SQL Environment(以下「cse」)を使って、PostgreSQLへDB接続しようとしたら色々エラーが出てしまったので、覚書として残しておきます。
1年前のメモから記事に起こしてるので、あまり親切な内容ではありません・・・
検索してすぐ出てくる内容は割愛してるので、是非調べてみてください。
あっさりcseで接続できると思ったんだけどなぁ;
PostgreSQLへのDB接続としては、pgAdminが一般的なんでしょうか?
でも私は
使い慣れたcseが使いたい!!!
...のです!(切実)
cseを開いて、DBMSは「PostgreSQL」を選択。
ユーザ名もパスワードも分かるから大丈夫。
サーバ名も色々指定して・・・
おっ、なんだかいけるんじゃない?!
さすがcse!(?)
さすがPostgreSQL!(??)
【OK】...ッターーーン!(Enterを押す音)
データベース接続時にエラーが発生しました。
FATAL:database "xxx" does not exist
cse「データベースが見つかりませんよ」
なんでやねん!!Σ(゜Д゜)
google先生で「データベース接続時」と入力すると、すぐ候補一覧にこのエラーが出てきます。
みんな困っているんだね、、、
詳細は先人たちの記事にお任せして、
【対処法:1】
簡単言うとフリーで配布されている「libpq.dll」をPostgreSQLがインストールされている環境(以下「DBサーバ」)に配置すれば解決されるらしい。
でも・・・
fe_sendauth: authentication type 5 not supported
今度は「認証エラー」が発生してしまう!!
(画面撮り忘れました;)
【対処法:2】
これもエラー内容を検索すると詳細は他の方々が丁寧に教えてくれていますが、DBサーバのpg_hba.confの設定値を変更すれば接続できるようになるようです。
でも、セキュリティが甘くなる!!
認証方式をMD5から平文に変更するんだもの!!
認証方式のMD5を解除したらcseからアクセスできるようになったよ!
やったね!
・・・とは、私は素直に思えないのです。
これが自分ひとりのスタンドアロン環境だったらいいのですが、
いろんな人がアクセスするため環境だったら?
危なくない???
■対処方法まとめ■
【対処法:1】DBサーバにlibpq.dllを配置する。
【対処法:2】DBサーバの認証方式をMD5から平文にする。
これらの対処法は、
1クライアントがcseを使いたいがために、DBサーバの環境を変えてしまうもの。
できればクライアントだけで対処したいな~というところで、ちょっと他の方法を考えてみることにします。
※メモはあるので、近いうちに記事にします。
↓↓ 更新しました! ↓↓ (2017/10/05追記)