ホーム › フォーラム › A5:SQL Mk-2掲示板 › Cloud SQL接続時にログイン以外の操作ができないことがある
- このトピックには4件の返信、2人の参加者があり、最後に
homuraにより4年、 7ヶ月前に更新されました。
-
投稿者投稿
-
homura
ゲストA5:SQL MK-2を愛用させて頂いております。
表題どおり、なのですが、GCP CloudSQL for postgresにて接続時、
サーバによって下記エラーポップアップが出てログイン以外の操作が出来ないことがあります。missing FROM-clause entry for table “pi”
psqlコマンドや、pgAdmin等他ツールでの接続は出来ているのですが、
A5:SQLでのみ上記エラーが表示されアクセスできない状態です。
(サーバ全てではなく、発生するものしないものが存在、発生するものでは常時発生)piといったテーブルに心当たりがありませんので検討がつかない状態です。
なにかわかることがありましたらご教示頂けますと幸いです。松原正和
キーマスターhomuraさんこんにちは。
使用しているDB接続ライブラリであるDevart社のUniDACの内部の挙動のようです。どうも、列の情報を取得するためのSQLでpg_indexesテーブルを参照するときに別名でpiと別名が付いているようですが、あまり詳しいことはわかりませんでした。
発生するサーバーとしないサーバーがあるというのも不思議ですが、権限周りということはないでしょうか?。
あと、GCP CloudSQL for postgresは使ったことがないのですがPostgreSQLがどのバージョンであるとか、通常のPostgreSQLとの互換性等も情報をお持ちの場合お教えいただけるとありがたいです。homura
ゲストご回答ありがとうございます。
接続ライブラリ側の挙動となると根本解決は難しそうですが、
追加情報として提供させて頂きます。>発生するサーバーとしないサーバーがあるというのも不思議ですが、権限周りということはないでしょうか?。
ツールを変更することで、接続できているため権限周りに問題はないと思われます。
(DBeaver, PGadmin, HeidiSQL, psqlコマンド で接続確認)また、サーバごとに挙動が異なっていましたが、
本日試したところ、管理している全てのCloud SQLで同様の現象になっていました。また、新規に下記リージョンに立ち上げた
us-central1
asia-northeast1
でも同様の現象が発生していることを確認しております。使用しているPostgresのバージョンは
PostgreSQL 9.6.14 になります。
互換性に関しましては、
Cloud SQL for PostgreSQL は、互換性維持のために標準の PostgreSQL を実行
との記載が公式にございます。
https://cloud.google.com/blog/ja/products/gcp/cloud-sql-for-postgresql-now-generally-available-and-ready-for-your-production-workloads可能性としては、CloudSQL側の内部仕様になんらかの変更があり、
その影響が出ているのかもしれませんね。お手数ですがなんらかの解決に繋がることを願っております。
松原正和
キーマスターhomura さんこんにちは。
調査したところ、UniDACライブラリで、PostgreSQL 7.2 対応の修正を独自に行っているのですが、このコードに問題があったようです。恐らく、Cloud SQL for PostgreSQLが返すバージョン番号が7.2以下の値であるためにバージョンを誤判定している可能性があります。
Version 2.15.0 beta 16で修正し、おそらく該当エラーは出なくなったと思うのですが、バージョン誤判定のために、まだうまく動作しない可能性があります。例えば、データベースツリーでスキーマ名が出ない可能性があり、この場合またご報告いただければ、対処できるかと思います。
homura
ゲスト松原 様
早速のご対応有難うございます。
beta16で確認したところ、該当エラーは表示されなくなりました。
現状触っている限りは誤動作はありませんが、
他不具合があるようであればご報告させて頂きます。お忙しい中ご対応有難うございました。
-
投稿者投稿