postgres序列(serial)和类型:https://www.cnblogs.com/alianbog/p/5654604.html

序列:https://www.cnblogs.com/mchina/archive/2013/04/10/3012493.html

serial序列其实就是当不给此字段赋值的时候,自动获取下一个值(唯一),可以当作自增主键

一、 创建表的时候创建序列

1. 方式一

create table tbl_serial(a serial,b varchar());

2. 方式二

DROP SEQUENCE if EXISTS "public"."quake_data_id_seq";
CREATE SEQUENCE "public"."quake_data_id_seq"
INCREMENT
MINVALUE
MAXVALUE
START
CACHE ; DROP TABLE if EXISTS "public"."quake_data";
CREATE TABLE "public"."quake_data" (
"id" int4 NOT NULL DEFAULT nextval('quake_data_id_seq'::regclass),
"quake_id" int4 DEFAULT ,
"channel_id" varchar() COLLATE "pg_catalog"."default" DEFAULT NULL,
"gauge_data" float8 DEFAULT NULL,
"guage_time" timestamp() DEFAULT NULL,
CONSTRAINT "" PRIMARY KEY ("id")
)
; ALTER TABLE "public"."quake_data"
OWNER TO "username"; COMMENT ON COLUMN "public"."quake_data"."quake_id" IS '事件id';
COMMENT ON COLUMN "public"."quake_data"."channel_id" IS '点号';
COMMENT ON COLUMN "public"."quake_data"."gauge_data" IS '测量值';
COMMENT ON COLUMN "public"."quake_data"."guage_time" IS '测量时间';

二、表已经创建好,后来单独创建序列,给表字段绑定序列

创建序列示例:

CREATE SEQUENCE "public"."quake_data_id_seq"
INCREMENT
MINVALUE
MAXVALUE
START
CACHE ;

修改字段默认值:

1. 使用的navicat

2. 使用ALTER命令

ALTER TABLE "public"."ttt"
ALTER COLUMN "id" TYPE int4 USING "quake_id"::int4; ALTER TABLE "public"."ttt"
ALTER COLUMN "id" SET DEFAULT nextval('ttt_id_seq'::regclass);

PS: 具体alter命令可以取官方网站查询:https://www.postgresql.org/docs/9.1/sql-altertable.html

小技巧:

还有一个方便的方法:使用navticat修改一个字段(属性,添加字段,删除字段等等都可以),然后点击SQL预览,就可以看到对应的sql命令了

比如下面图片演示,更改guage_time字段不能为空

然后点击SQL预览, 显示sql语句:

ALTER TABLE "public"."ttt"
ALTER COLUMN "guage_time" SET NOT NULL;

postgres 序列的更多相关文章

  1. mysql 序列与pg序列的比较

    mysql序列(这里只谈innodb引擎): 在使用mysql的AUTO_INCREMENT时,使用AUTO_INCREMENT的字段必须建有索引,也可以为索引的一部分.当没有索引时会报错:      ...

  2. 深入理解Postgres中的cache

    众所周知,缓存是提高数据库性能的一个重要手段.本文着重讲一讲PostgreSQL中的缓存相关的东西.当然万变不离其宗,原理都是共同的,理解了这些,你也很容易把它运用到其它数据库中. What is a ...

  3. Postgres数据库补丁脚本示例

    SET client_encoding = 'UTF8';-- 新建序列和表DROP TABLE IF EXISTS cms_user_unit;DROP SEQUENCE IF EXISTS cms ...

  4. 浅析Postgres中的并发控制(Concurrency Control)与事务特性(上)

    转载:https://www.cnblogs.com/flying-tiger/p/9567213.html#4121483#undefined PostgreSQL为开发者提供了一组丰富的工具来管理 ...

  5. 浅析Postgres中的并发控制(Concurrency Control)与事务特性(下)

    上文我们讨论了PostgreSQL的MVCC相关的基础知识以及实现机制.关于PostgreSQL中的MVCC,我们只讲了元组可见性的问题,还剩下两个问题没讲.一个是"Lost Update& ...

  6. 浅析Postgres中的并发控制(Concurrency Control)与事务特性(上)(转)

    这篇博客将MVCC讲的很透彻,以前自己懂了,很难给别人讲出来,但是这篇文章给的例子就让人很容易的复述出来,因此想记录一下,转载给更多的人 转自:https://www.cnblogs.com/flyi ...

  7. postgres常用命令

    1.登录 psql -U pname -d database  // pname 表示postgres的登录用户名,database 则表示要访问的数据库 2.查看所有的数据库 \l 3.查看所有的表 ...

  8. postgres 基本使用

    postgres=# help 您正在使用psql, 这是一种用于访问PostgreSQL的命令行界面 键入: \copyright 显示发行条款 \h 显示 SQL 命令的说明 \? 显示 pgsq ...

  9. postgres表空间、模式、表和用户/角色之间的关系

    一. 角色(role)和用户(user)   1. role      postgres=# create role kanon password 'kanon';         #使用role创建 ...

随机推荐

  1. mysql avg()函数,获取字段的平均值

    mysql> select * from table1; +----------+------------+-----+---------------------+ | name_new | t ...

  2. 【cf比赛练习记录】Codeforces Round #579 (Div. 3)

    思考之后再看题解,是与别人灵魂之间的沟通与碰撞 A. Circle of Students 题意 给出n个数,问它们向左或者向右是否都能成一个环.比如样例5是从1开始向左绕了一圈 [3, 2, 1, ...

  3. 配置Always On AG

    1.准备测试环境的服务器 在 Always On AG 中如果需要自动 Failover 至少需要集群中有 3 台服务器,但是我只是测试功能,因此只使用了两台服务器.并且本文不涉及任何 Pacemak ...

  4. plsql 如何导入excel数据?

      oracle 导入excel数据? 通过plsql实现 1.准备工作 Excel中的字段名称,必须和表结构字段一 一对应 下面以tdoctor_apply表为例,进行演示 表结构 Excel表数据 ...

  5. 学生会管理系统(JavaWeb与数据库课程小实践)

    学生会文件管理系统使用说明书 一.流程图: 二.具体使用步骤: 1.管理员操作步骤: (1)登录: 输入用户名和密码,登录. (2)跳入欢迎动画. (3)进入主欢迎界面. (4)从主欢迎界面的学生会成 ...

  6. arcgis python脚本工具实例教程—栅格范围提取至多边形要素类

    arcgis python脚本工具实例教程-栅格范围提取至多边形要素类 商务合作,科技咨询,版权转让:向日葵,135-4855_4328,xiexiaokui#qq.com 功能:提取栅格数据的范围, ...

  7. 以太坊公链Geth同步

    1.安装所需基础工具 yum update -y && yum install git wget bzip2 vim gcc-c++ ntp epel-release nodejs c ...

  8. redis 使用redis Desktop manger进行远程进行链接

    1.修改redis.conf文件: a.去掉bind:127.0.0.0 b.protected mode 模式改成 no 2.重启redis /etc/init.d/redis restart 3. ...

  9. 源码包的三个参数make-configure-make install解释

    1.configure 这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码: ./configure --prefix= ...

  10. Python分词工具——pyhanlp

    本文为本人学习pyhanlp的笔记,大多知识点来源于GitHubhttps://github.com/hankcs/HanLP/blob/master/README.md,文中的demo代码来源于该G ...