Postgresql中自增主键序列的使用以及数据传输时提示:错误:关系“xxx_xx_xx_seq“不存在

场景

Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入:

Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入-CSDN博客

上面讲使用pg_dump进行postgresql的导出与导入。

如果使用Navicat可以直接连接两个库,则可直接使用数据传输功能。

但是在传输某个表时提示:

错误:关系“xxx_xx_seq”不存在 ..."id"

注:

博客:
霸道流氓气质_C#,架构之路,SpringBoot-CSDN博客

实现

1、这是因为源表的id字段为自增主键,所以要在进行传输的表中执行新建自增主键序列的操作。

通过Navicat可以看到id字段为自增主键,且序列名为tunnel_topology_rel_seq

所以需要在目标表中进行创建自增序列的操作,创建之间先执行如果有则删除的操作。

Postgresql中执行删除和创建自增主键序列的语句:

DROP SEQUENCE IF EXISTS tunnel_topology_rel_seq;CREATE SEQUENCE tunnel_topology_rel_seq;

执行成功之后

此时再执行数据传输则成功

2、pgsql里,有种东西叫自增,很像mysql里的约束。

建立一个自增的序列,每次需要获取自增主键时,调用一下这个序列就可以了。

建立自增主键的序列的语法:

CREATE SEQUENCE
test_id_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START WITH 1
CACHE 1;

语法含义:

INCREMENT BY : 每次序列增加(或减少)的步长
MINVALUE : 序列最小值,NO MINVALUE表示没有最小值
MAXVALUE : 序列最大值,NO MAXVALUE表示没有最大值
START WITH :以什么序列值开始
CYCLE : 序列是否循环使用
OWNED BY : 可以直接指定一个表的字段,也可以不指定。

为了测试新建一个user表

新建一个序列

CREATE SEQUENCE
user_id_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START WITH 1
CACHE 1;

序列的相关方法

函数返回类型描述
currval( regclass )bigint获取指定序列最近一次使用netxval后的数值,如果没有使用nextval而直接使用currval会出错
lastval()bigint返回最近一次用 nextval 获取的任意序列的数值
nextval( regclass )bigint递增序列并返回新值
setval( regclass,bigint )bigint设置序列的当前数值
setval( regclass,bigint ,boolean )bigint设置序列的当前数值以及 is_called 标志,如果为true则立即生效,如果为false,则调用一次nextval后才会生效

3、postgresql中设置字段的默认值为序列的nextval

设置id字段的默认值为nextval('user_id_seq');

ALTER TABLE "public"."user" ALTER COLUMN id SET DEFAULT nextval('user_id_seq');

再向user表中插入数据,这样写

INSERT INTO "public"."user" ("name") VALUES ('霸道');

自增主键序列成功

4、postgreql中查看序列当前值

SELECT currval('user_id_seq')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/286426.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发者的秘密武器:深入学习org.codehaus.jackson.map.ObjectMapper

欢迎来到我的博客,代码的世界里,每一行都是一个故事 开发者的秘密武器:深入学习org.codehaus.jackson.map.ObjectMapper 前言基础用法配置选项自定义序列化和反序列化处理复杂对象的结构性能优化与最佳实践与其他Jackson组件的集成常见问题与…

API资源对象StorageClass;Ceph存储;搭建Ceph集群;k8s使用ceph

API资源对象StorageClass;Ceph存储;搭建Ceph集群;k8s使用ceph API资源对象StorageClass SC的主要作用在于,自动创建PV,从而实现PVC按需自动绑定PV。 下面我们通过创建一个基于NFS的SC来演示SC的作用。 要想使用NFS的SC,还需要安装一个NFS…

Aviator表达式引擎基本使用

引入依赖 <dependency><groupId>com.googlecode.aviator</groupId><artifactId>aviator</artifactId><version>5.3.3</version></dependency>AviatorEvaluator.execute() Aviator只支持4种数值类型&#xff1a; longdoubleb…

自学java马上入职怕干不了活怎么办?

自学java马上入职怕干不了活怎么办&#xff1f; 在开始前我有一些资料&#xff0c;是我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心整理了一份「java的资料从专业入门到高级教程工具包」&#xff0c;点个关注&#xff0c;全部无偿共享给大家&#xff01…

Java_异常

一、异常 1.1 认识异常 接下来&#xff0c;我们学习一下异常&#xff0c;学习异常有利于我们处理程序中可能出现的问题。我先带着同学们认识一下&#xff0c;什么是异常&#xff1f; 我们阅读下面的代码&#xff0c;通过这段代码来认识异常。 我们调用一个方法时&#xff0c…

论文Rebuttal常见格式与模板之中篇

论文Rebuttal常见格式与模板之中篇 前言5. Rebuttal可能遇到的问题5.4 实验不充分5.5 语法&#xff0c;结构&#xff0c;参考文献遗漏等问题5.6 非热点问题&#xff0c;研究意义&#xff1f; 6. 针对AC Message下篇笔记链接Rebuttal模板的好文 前言 这里承接上一篇笔记&#x…

opencv 入门一(显示一张图片)

头文件添加如下&#xff1a; 库目录添加如下&#xff1a; 依赖的库如下&#xff1a; #include <iostream> #include "opencv2/opencv.hpp" int main(int argc,char ** argv) { cv::Mat img cv::imread(argv[1], -1); if (img.empty()) return -1; …

原生JS实现组件切换(不刷新页面)

这是通过原生Es6实现的组件切换&#xff0c;代码很简单&#xff0c;原理和各种框架原理大致相同。 创建文件 ├── component&#xff1a;存放组件 │ ├── home1.js&#xff1a;组件1 │ ├── home2.js&#xff1a;组件2 ├── index.html ├── index.js初始化ht…

git的使用思维导图

源文件在github主页&#xff1a;study_collection/cpp学习/git at main stu-yzZ/study_collection (github.com)

全网好听的BGM都在这里下载,赶紧收藏好了

无论是自媒体创作者还是从事视频剪辑工作的朋友&#xff0c;对于BGM的选择都很重要&#xff0c;一首适配的BGM能大大提升你作品的质量&#xff0c;还能让作品更优秀。哪里才能找到好听又免费的BGM&#xff1f;下面推荐几个我多年收藏的6个音效、音频素材网站&#xff0c;赶紧收…

jdk多版本切换环境变量管理(jdk1.8和jdk17)

jdk多版本切换环境变量管理&#xff08;jdk1.8和jdk17&#xff09; 看了很多网上的博客&#xff0c;根本都不行&#xff0c;我总结出来规律如下&#xff1a; 首先环境变量要配置成这个样子&#xff1a;这些博客都会教你们配 接着配什么classpath&#xff0c;看其他博客就行 还…

鸿蒙开发之简单登录页面

Entry Component struct Index {State loading:booleanfalse;build() {Row() {Column({ space: 5 }) {Image($r("app.media.app_icon")).width(100).height(100).borderRadius(10).margin({top: 60})Text("登录界面").fontSize(40).fontWeight(FontWeight.…