无法从 BigQuery 作业连接到 Cloud SQL Postgres
Unable to connect from BigQuery job to Cloud SQL Postgres
我无法使用从 Google BigQuery 到 Google Cloud SQL Postgres 的联合查询功能。 Google 最近宣布 federated query capability BigQuery 处于测试阶段。
我使用文档中描述的 EXTERNAL_QUERY 语句,但无法连接到我的云 SQL 实例。例如查询
SELECT * FROM EXTERNAL_QUERY('my-project.europe-north1.my-connection', 'SELECT * FROM mytable;');
或
SELECT * FROM EXTERNAL_QUERY("my-project.europe-north1.pg1", "SELECT * FROM INFORMATION_SCHEMA.TABLES;");
我收到此错误:
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.
有时错误是这样的:
Error encountered during execution. Retrying may solve the problem.
我已按照第 https://cloud.google.com/bigquery/docs/cloud-sql-federated-queries 页上的说明进行操作并启用了 BigQuery Connection API。一些文档对 EXTERNAL_QUERY(“或‘或‘’’)使用不同的引号,但所有变体都以相同的结果结尾。
我在 stackdriver postgres 日志中看不到任何错误。我该如何更正此连接错误?关于如何进一步调试它有什么建议吗?
BigQuery 数据集和 Cloud SQL 实例必须位于同一区域,或者如果数据集位于美国和欧盟等多区域位置,则必须位于同一位置。
根据 Known issues listed 仔细检查。
server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request.
此消息通常意味着您将在远程数据库服务器的日志中找到更多信息。无法将有用的信息发送到 "client" 服务器,因为连接消失了,因此无法发送。所以您查看了远程服务器。
不幸的是,BigQuery 对云的联合查询 SQL 目前仅在美国地区有效(2019 年 9 月)。文档 (https://cloud.google.com/bigquery/docs/cloud-sql-federated-queries) 说它应该也适用于其他地区,但事实并非如此。
我在 EU 和 europe-north1 中多次测试了原始问题的设置,但无法使其正常工作。当我将设置更改为 US 或 us-central1 时,它起作用了!
云联合查询 SQL 处于预览阶段,因此该功能正在不断发展。我们希望 Google 尽快在其他地区使用它。
我刚刚尝试过,就在欧盟运行的 bigquery 查询而言,它有效(截至今天 10 月 6 日它有效)。
我的例子:
SELECT * FROM EXTERNAL_QUERY("projects/xxxxx-xxxxxx/locations/europe-west1/connections/xxxxxx", "SELECT * FROM data.datos_ingresos_netos")
只需将第一个 xxxxs
替换为您的 projectid
,将最后一个替换为您在 bigquery
界面中为连接指定的名称(不是 cloudsql info
,即进入查询)
只是为使用仅私有 IP 云 SQL 实例的人们增加了另一种可能性。我刚刚遇到过,想知道为什么在确保其他一切看起来都正确之后它仍然无法正常工作。根据 docs(截至 2021-11-13):“BigQuery Cloud SQL 联合仅支持具有 public IP 连接的 Cloud SQL 实例。请配置 public Cloud SQL 实例的 IP 连接。"
我无法使用从 Google BigQuery 到 Google Cloud SQL Postgres 的联合查询功能。 Google 最近宣布 federated query capability BigQuery 处于测试阶段。
我使用文档中描述的 EXTERNAL_QUERY 语句,但无法连接到我的云 SQL 实例。例如查询
SELECT * FROM EXTERNAL_QUERY('my-project.europe-north1.my-connection', 'SELECT * FROM mytable;');
或
SELECT * FROM EXTERNAL_QUERY("my-project.europe-north1.pg1", "SELECT * FROM INFORMATION_SCHEMA.TABLES;");
我收到此错误:
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.
有时错误是这样的:
Error encountered during execution. Retrying may solve the problem.
我已按照第 https://cloud.google.com/bigquery/docs/cloud-sql-federated-queries 页上的说明进行操作并启用了 BigQuery Connection API。一些文档对 EXTERNAL_QUERY(“或‘或‘’’)使用不同的引号,但所有变体都以相同的结果结尾。
我在 stackdriver postgres 日志中看不到任何错误。我该如何更正此连接错误?关于如何进一步调试它有什么建议吗?
BigQuery 数据集和 Cloud SQL 实例必须位于同一区域,或者如果数据集位于美国和欧盟等多区域位置,则必须位于同一位置。
根据 Known issues listed 仔细检查。
server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request.
此消息通常意味着您将在远程数据库服务器的日志中找到更多信息。无法将有用的信息发送到 "client" 服务器,因为连接消失了,因此无法发送。所以您查看了远程服务器。
不幸的是,BigQuery 对云的联合查询 SQL 目前仅在美国地区有效(2019 年 9 月)。文档 (https://cloud.google.com/bigquery/docs/cloud-sql-federated-queries) 说它应该也适用于其他地区,但事实并非如此。
我在 EU 和 europe-north1 中多次测试了原始问题的设置,但无法使其正常工作。当我将设置更改为 US 或 us-central1 时,它起作用了!
云联合查询 SQL 处于预览阶段,因此该功能正在不断发展。我们希望 Google 尽快在其他地区使用它。
我刚刚尝试过,就在欧盟运行的 bigquery 查询而言,它有效(截至今天 10 月 6 日它有效)。 我的例子:
SELECT * FROM EXTERNAL_QUERY("projects/xxxxx-xxxxxx/locations/europe-west1/connections/xxxxxx", "SELECT * FROM data.datos_ingresos_netos")
只需将第一个 xxxxs
替换为您的 projectid
,将最后一个替换为您在 bigquery
界面中为连接指定的名称(不是 cloudsql info
,即进入查询)
只是为使用仅私有 IP 云 SQL 实例的人们增加了另一种可能性。我刚刚遇到过,想知道为什么在确保其他一切看起来都正确之后它仍然无法正常工作。根据 docs(截至 2021-11-13):“BigQuery Cloud SQL 联合仅支持具有 public IP 连接的 Cloud SQL 实例。请配置 public Cloud SQL 实例的 IP 连接。"