当前位置:   article > 正文

postgresql 插入数据 设置 自动生成主键为uuid格式_gp给表添加自增主键uuid

gp给表添加自增主键uuid

postgresql 插入数据 设置 自动生成主键为uuid格式:

通常postgresql 主键设置为int 自增类型,但是也有很多业务场景需要uuid

1、数据库插件安装:

安装 uuid_generate_v4() 扩展函数

create extension "uuid-ossp"

检验函数

 select uuid_generate_v4()


2、 创建表结构格式:

create table table_name
(
  id UUID PRIMARY KEY DEFAULT uuid_generate_v4()
);

比如:

  1. CREATE TABLE "public"."pipe_car" (
  2. "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
  3. "pipe_id" varchar(50) COLLATE "pg_catalog"."default",
  4. "car_id" varchar(8) COLLATE "pg_catalog"."default"
  5. );

或者:

  1. CREATE TABLE "public"."pipe_car" (
  2. "id" varchar(50) COLLATE "pg_catalog"."default" NOT NULL DEFAULT uuid_generate_v4(),
  3. "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
  4. "pipe_id" varchar(50) COLLATE "pg_catalog"."default",
  5. "car_id" varchar(8) COLLATE "pg_catalog"."default",
  6. CONSTRAINT "pole_pole_cable_pkey" PRIMARY KEY ("id")
  7. );

3、修改为uuid的操作:

你不能只是把一个int4加到uuid;这将是一个无效的uuid,只有32位设置,高96位为零。

如果要生成新的UUID以完全替换整数,并且如果没有这些整数的现有外键引用,则可以使用实际生成新值的假转换。

不要在没有数据备份的情况下运行。它永久地抛弃了colA中的旧值。

ALTER TABLE tableA ALTER COLUMN colA SET DATA TYPE UUID USING (uuid_generate_v4());

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/256487
推荐阅读
相关标签
  

闽ICP备14008679号