
PGSQL
北漂编程小王子
程序猿的工作日记
展开
-
PgSQL upsert批量查询插入或更新(insert select/on conflict do update踩坑记录)
PGSQL数据库中根据唯一索引判断存在不存在,存在则更新,不存在就新增,可以参考下的sql,注意其中的item_type,item_type_id,item_group,item_group_key四个字段组成唯一的联合主键,没有这样的联合主键,就会报"there is no unique or exclusion constraint matching the ON CONFLICT specification"错误!mapper:long saveAA(@Param("param") CreateC原创 2021-12-06 20:56:27 · 4698 阅读 · 0 评论 -
navicat备份导出完整PostgreSQL数据库
项目在上线前,在测试环境准备了大量的基础数据,这些数据创建后,需要导入到正式环境的数据库上,项目使用的是postgreSQL数据库,现在就需要将数据库整体打包导出备份到sql脚本,可以安装 Navicat for PostgreSQL版本链接工具,专门为PostgreSQL定制使用,功能十分强大!步骤:1、工具-数据传输2、源, 选择连接/数据库/模式 ,目标中可以选择直接连接的库,或者文件选择文件3、下一步4、数据库对象选择 全部 表/视图/函数/序列/类型5、点击选项,配置详细参数6、导原创 2021-11-01 11:36:33 · 11696 阅读 · 2 评论 -
pgsql jsonb数组包含
项目遇到一种查询场景,字段是jsonb类型,数据key对应的value 是数组集合类型,现在需要查询出包含某字符串的所有记录都查询出来如下图所示的param字段是jsonb类型,查询resource_instance_id中包含某字符串的所有记录都查询出来,注意resource_instance_id对应的value可能是字符串也可能是数组格式:直接上sqlselect * from resource_job WHERE param ->>'resource_instance_id' @@原创 2021-07-29 13:27:38 · 2419 阅读 · 1 评论 -
postgresql数据库 如果存在则更新(update),如果不存在则插入(insert)
项目使用的PGsql数据库,现在遇到的问题是保存数据,如果存在就更新,如果不存在就插入,那么如何写sql呢?有一张表有自己的主键id,同时有一个组合唯一索引,字段分别是:item_type,item_type_id,item_group,item_group_key废话不多说,实现的sql如下:<insert id="insertResourceConfig" parameterType="com.lenovo.mcmp.rm.etl.model.param.resourceConfig.Cre原创 2021-07-14 10:43:46 · 7482 阅读 · 0 评论