You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Synapse与AWS PostGres数据复制连接机制及连接报错咨询

Azure Synapse 连接 PostgreSQL 的方法及问题排查

一、Linked Service 是正确的连接方式(附常见报错排查)

Linked Service 确实是Synapse连接PostgreSQL的官方推荐方式之一,你遇到报错可以从以下几个方向排查:

  • 网络权限:确认PostgreSQL的防火墙规则允许Synapse工作区的IP访问。如果是Azure PostgreSQL,在服务器防火墙设置里添加Synapse的出站IP(可在Synapse工作区「网络」>「出站IP」中查看);如果是自建PostgreSQL,要开放默认端口5432,且白名单包含Synapse的IP段。
  • 凭据格式:Azure PostgreSQL的用户名格式通常是用户名@服务器名,自建PostgreSQL直接填用户名即可。密码要和PG Admin使用的完全一致,注意大小写、特殊字符不要输错。
  • 连接字符串验证:手动拼接连接字符串测试连通性,格式为Host=<主机名>;Port=5432;Database=<数据库名>;Username=<用户名>;Password=<密码>,可以用本地psql命令测试,确认能连接后再配置到Linked Service中。
  • 服务类型选择:Linked Service要选对类型——Azure托管的PostgreSQL选「Azure Database for PostgreSQL」,自建/第三方的选「PostgreSQL」,别选错导致连接失败。

二、其他连接机制

除了Linked Service,还有以下几种可行的连接方式:

1. Synapse SQL 池(专用/无服务器)创建外部表

通过PolyBase直接映射PostgreSQL表,实现SQL查询访问:

  • 先创建数据库范围凭据:
CREATE DATABASE SCOPED CREDENTIAL PostgresCred
WITH IDENTITY = '<你的PostgreSQL用户名>', SECRET = '<你的密码>';
  • 再创建外部数据源:
CREATE EXTERNAL DATA SOURCE PostgresSource
WITH (
    LOCATION = 'postgresql://<主机名>:5432/<数据库名>',
    CREDENTIAL = PostgresCred,
    TYPE = RDBMS
);
  • 最后创建外部表映射目标表:
CREATE EXTERNAL TABLE dbo.PostgresExternalTable
(
    -- 这里对应PostgreSQL表的字段和类型
    id INT,
    user_name VARCHAR(100)
)
WITH (
    LOCATION = '<schema名>.<表名>', -- 比如public.users
    DATA_SOURCE = PostgresSource
);

创建完成后,就可以像查询本地表一样查询PostgresExternalTable。

2. Synapse Spark 池通过JDBC连接

在Spark Notebook中用JDBC读取/写入PostgreSQL数据:

  • Python示例(需先在Spark池的库管理中上传PostgreSQL JDBC驱动包,比如postgresql-42.6.0.jar):
url = "jdbc:postgresql://<主机名>:5432/<数据库名>"
jdbc_properties = {
    "user": "<用户名>",
    "password": "<密码>",
    "driver": "org.postgresql.Driver"
}

# 读取PostgreSQL表数据
df = spark.read.jdbc(url=url, table="public.users", properties=jdbc_properties)
df.show()

# 写入数据到PostgreSQL表
# df.write.jdbc(url=url, table="public.new_users", properties=jdbc_properties, mode="append")

3. Synapse Pipeline 复制活动

如果是做数据同步,复制活动可以直接将PostgreSQL作为源或目标,本质依赖Linked Service,但可以通过复制活动的调试日志获取更详细的连接错误信息,帮助排查问题。

内容的提问来源于stack exchange,提问作者Atma Prakash Sahoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 22:38:23