Lv1プログラマの誰得メモ

総務女子の開発とか趣味とか自学に関係することのメモ

【エラー出る】CSEからPostgreSQLへ接続【対処法】

SQL開発環境ソフトのCommon SQL Environment(以下「cse」)を使って、PostgreSQLへDB接続しようとしたら色々エラーが出てしまったので、覚書として残しておきます。

1年前のメモから記事に起こしてるので、あまり親切な内容ではありません・・・

検索してすぐ出てくる内容は割愛してるので、是非調べてみてください。

あっさりcseで接続できると思ったんだけどなぁ;

 

 

PostgreSQLへのDB接続としては、pgAdminが一般的なんでしょうか?

でも私は

使い慣れたcseが使いたい!!!

...のです!(切実)

 

cseを開いて、DBMSは「PostgreSQL」を選択。

ユーザ名もパスワードも分かるから大丈夫。

サーバ名も色々指定して・・・

f:id:megsan:20170914015734j:plain

おっ、なんだかいけるんじゃない?!

さすがcse!(?)

さすがPostgreSQL!(??)

 

【OK】...ッターーーン!(Enterを押す音)

 

f:id:megsan:20170914015903j:plain

データベース接続時にエラーが発生しました。

FATAL:database "xxx" does not exist

 

cse「データベースが見つかりませんよ」

 

なんでやねん!!Σ(゜Д゜) 

 

google先生で「データベース接続時」と入力すると、すぐ候補一覧にこのエラーが出てきます。

みんな困っているんだね、、、

f:id:megsan:20170914020339j:plain

詳細は先人たちの記事にお任せして、

 

【対処法: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追記)

lv1meg.hatenablog.com