Postgresql+postgis跨库复制数据

PG数据表复制到另一个数据库中


一、通过postgis插件完成

实现方式:通过postgis 的插件
利用PostGIS Shapefile and DBF Loader把源数据库表导出shp数据到本地,然后通过PostGIS Shapefile and DBF Loader将本地的shp导入到目标数据库(Options下设为GBK,否则中文导不进去;shp路径应简单且为全英文,否则报错);

第一步,导出源数据到本地shp文件

第二步,导入本地shp数据到目标数据库

二、通过pgadmin中sql查询导出导入csv完成

实现方式:通过查询语句根据字段过滤查询到想要的数据,然后保存为本地的csv文件,然后通过导入方式导入到目标数据库

实现过程截图:

1.复制源数据表结构sql,到目标数据库执行,先创建表,这里注意创建对应的序列

![<
在这里插入图片描述
完成

2.查询源数据库目标表

在这里插入图片描述

3.下载到本地 点击图中按钮即可实现下载 下载完成记得把csv首行的字段名删除掉,否则导入会报错

在这里插入图片描述

4.选中目标数据库复制创建的表,导入本地保存的下载好的csv到目标数据库

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、通过内部格式backup实现

实现方式:通过pgadmin可视化工具 对表进行备份恢复

1.表备份 选中表,右键选择backup,输入备份信息点击备份按钮

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.恢复表 选择要恢复的数据库,点击restore,进行恢复

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、5.通过内部扩展实现跨库查询写入

实现方式:目标库创建dblink扩展,然后执行sql查询并写入目标库

1. 创建扩展

在这里插入图片描述

2. 执行写入并创建的sql

在这里插入图片描述

五、通过代码实现功能

实现方式:通过geotools 复制表结构到目标数据库,然后再往目标数据库的创建表写入数据

实现代码:
在这里插入图片描述
在这里插入图片描述

总结

上述五种跨库写入数据的方式可以根据现场环境进行

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL+PostGIS 相对于 Oracle Spatial 在以下几个方面具有优势: 1. 开源和免费:PostgreSQL+PostGIS 是开源的数据库系统,可以免费使用,并且在开源社区中有广泛的支持和贡献。相比之下,Oracle Spatial 是商业数据库产品,可能需要支付高额的许可费用。 2. 社区支持和生态系统:PostgreSQL+PostGIS 有庞大的开源社区支持,许多开发者和组织都在为其开发新功能、解决问题和提供支持。这意味着用户可以从活跃的社区中获取帮助、学习和分享经验。 3. 扩展性和灵活性:PostgreSQL 是一个高度可扩展的数据库系统,可以轻松处理大规模数据集。PostGIS 扩展为 PostgreSQL 提供了丰富的地理空间功能,包括拓扑关系查询、空间索引、几何运算等。用户可以根据自己的需求选择性地安装和配置 PostGIS 扩展,使其更适合特定的应用场景。 4. 标准兼容性:PostgreSQL+PostGIS 遵循 SQL 和 OGC(Open Geospatial Consortium)的标准,支持标准的地理空间数据模型和函数。这使得它与其他遵循相同标准的地理空间数据系统具有良好的互操作性。 5. 可定制性和开发灵活性:开源的 PostgreSQL+PostGIS 提供了许多扩展和插件,用户可以根据自己的需求进行定制和开发。这使得用户可以根据具体应用的要求,灵活地扩展和定制地理空间功能。 需要注意的是,选择使用 PostgreSQL+PostGIS 还是 Oracle Spatial 取决于具体的需求和环境。如果对性能、功能全面性和与商业软件集成有较高要求,以及有相应的预算支持,那么 Oracle Spatial 可能更适合。而如果希望免费使用、享受开源社区支持、具备灵活性和可定制性,那么 PostgreSQL+PostGIS 是一个更好的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值