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

如何将本地PostgreSQL数据导入Azure Database for PostgreSQL灵活服务器(无法使用pgAdmin)

解决Azure PostgreSQL Flexible Server(私有访问)的数据导入问题

方案1:通过Azure虚拟机(VNet内)中转操作

  • 在与PostgreSQL服务器同一虚拟网络下创建Azure虚拟机。
  • 登录虚拟机,安装PostgreSQL客户端工具(psql、pg_dump/pg_restore)。
  • 本地生成数据库备份并上传至虚拟机:
    # 本地生成SQL格式备份
    pg_dump -h 本地数据库地址 -U 本地用户名 -d 数据库名 > local_db_backup.sql
    # 通过scp上传到Azure虚拟机(替换为你的虚拟机信息)
    scp local_db_backup.sql azure_user@虚拟机公网IP:/home/azure_user/
    
  • 在虚拟机内执行数据导入:
    # SQL文件导入
    psql -h AzurePostgreSQL私有地址 -U Azure用户名 -d 目标数据库名 < /home/azure_user/local_db_backup.sql
    # 自定义格式备份用pg_restore
    pg_restore -h AzurePostgreSQL私有地址 -U Azure用户名 -d 目标数据库名 --clean local_db_backup.dump
    

方案2:使用Azure Data Factory迁移

  • 登录Azure门户,创建Azure Data Factory实例,确保实例与PostgreSQL服务器在同一VNet或通过VNet peering连接。
  • 配置两个数据源:
    • 源:本地PostgreSQL数据库(通过自托管集成运行时连接本地环境)
    • 目标:Azure PostgreSQL Flexible Server(利用VNet集成直接连接)
  • 创建全量复制管道并运行,完成数据迁移。

方案3:利用Django自带命令迁移ORM数据

  • 本地导出Django数据(仅包含ORM管理的数据):
    python manage.py dumpdata --exclude auth.permission --exclude contenttypes > db_dump.json
    
  • 将db_dump.json上传到Azure的Django应用服务器(可通过FTP、Azure CLI或部署中心完成)。
  • 在Azure应用服务器终端执行导入:
    python manage.py loaddata db_dump.json
    

方案4:临时开放公共访问(仅限允许场景)

注:完成后需立即恢复私有访问配置,避免安全风险

  • 登录Azure门户,进入PostgreSQL服务器的连接安全性设置,临时开启允许公共访问,并添加本地IP到防火墙规则。
  • 本地直接执行导入:
    pg_restore -h AzurePostgreSQL公网地址 -U 用户名 -d 数据库名 local_db_backup.dump
    
  • 导入完成后,立即关闭公共访问,恢复原有私有配置。

内容的提问来源于stack exchange,提问作者12341413451354134

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 01:51:11