无法从 BigQuery 作业连接到 Cloud SQL Postgres

Vei*_*kko 7 postgresql google-cloud-sql google-bigquery

我无法使用从 Google BigQuery 到 Google Cloud SQL Postgres 的联合查询功能。Google 最近宣布BigQuery 的联合查询功能处于测试状态。

\n\n

我使用文档中描述的 EXTERNAL_QUERY 语句,但无法连接到我的 Cloud SQL 实例。例如使用查询

\n\n
SELECT * FROM EXTERNAL_QUERY(\'my-project.europe-north1.my-connection\', \'SELECT * FROM mytable;\');\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者

\n\n
SELECT * FROM EXTERNAL_QUERY("my-project.europe-north1.pg1", "SELECT * FROM INFORMATION_SCHEMA.TABLES;");\n
Run Code Online (Sandbox Code Playgroud)\n\n

我收到此错误:

\n\n
Invalid table-valued function EXTERNAL_QUERY Connection to PostgreSQL server failed: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request.\n
Run Code Online (Sandbox Code Playgroud)\n\n

有时错误是这样的:

\n\n
Error encountered during execution. Retrying may solve the problem.\n
Run Code Online (Sandbox Code Playgroud)\n\n

我已按照https://cloud.google.com/bigquery/docs/cloud-sql-federated-queries页面上的说明进行操作并启用了 BigQuery Connection API。某些文档对 EXTERNAL_QUERY 使用不同的引用(\xe2\x80\x9c 或 \xe2\x80\x98 或 \xe2\x80\x98\xe2\x80\x99\xe2\x80\x99),但所有变体都以相同的结果结束。

\n\n

我在 stackdriver postgres 日志中看不到任何错误。我该如何纠正此连接错误?有什么建议如何进一步调试吗?

\n

小智 2

我刚刚尝试过,只要 bigquery 查询在欧盟运行(截至今天 10 月 6 日它就可以工作),它就可以工作。我的例子:

SELECT * FROM EXTERNAL_QUERY("projects/xxxxx-xxxxxx/locations/europe-west1/connections/xxxxxx", "SELECT * FROM data.datos_ingresos_netos")
Run Code Online (Sandbox Code Playgroud)

只需将第一个替换xxxxs为您的projectid名称,最后一个替换为您在接口中为连接指定的名称bigquery(不是cloudsql info,它会进入查询)

  • 一切都很好,与 europe-north1 确认,只需添加一件事:如果您在专用网络中运行 sql 实例,它将无法工作,您需要为 BigQuery 启用“公共 IP 连接”才能使用 SQL(无需添加任何网络) (2认同)