postgres 序列
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 序列的更多相关文章
- mysql 序列与pg序列的比较
mysql序列(这里只谈innodb引擎): 在使用mysql的AUTO_INCREMENT时,使用AUTO_INCREMENT的字段必须建有索引,也可以为索引的一部分.当没有索引时会报错: ...
- 深入理解Postgres中的cache
众所周知,缓存是提高数据库性能的一个重要手段.本文着重讲一讲PostgreSQL中的缓存相关的东西.当然万变不离其宗,原理都是共同的,理解了这些,你也很容易把它运用到其它数据库中. What is a ...
- Postgres数据库补丁脚本示例
SET client_encoding = 'UTF8';-- 新建序列和表DROP TABLE IF EXISTS cms_user_unit;DROP SEQUENCE IF EXISTS cms ...
- 浅析Postgres中的并发控制(Concurrency Control)与事务特性(上)
转载:https://www.cnblogs.com/flying-tiger/p/9567213.html#4121483#undefined PostgreSQL为开发者提供了一组丰富的工具来管理 ...
- 浅析Postgres中的并发控制(Concurrency Control)与事务特性(下)
上文我们讨论了PostgreSQL的MVCC相关的基础知识以及实现机制.关于PostgreSQL中的MVCC,我们只讲了元组可见性的问题,还剩下两个问题没讲.一个是"Lost Update& ...
- 浅析Postgres中的并发控制(Concurrency Control)与事务特性(上)(转)
这篇博客将MVCC讲的很透彻,以前自己懂了,很难给别人讲出来,但是这篇文章给的例子就让人很容易的复述出来,因此想记录一下,转载给更多的人 转自:https://www.cnblogs.com/flyi ...
- postgres常用命令
1.登录 psql -U pname -d database // pname 表示postgres的登录用户名,database 则表示要访问的数据库 2.查看所有的数据库 \l 3.查看所有的表 ...
- postgres 基本使用
postgres=# help 您正在使用psql, 这是一种用于访问PostgreSQL的命令行界面 键入: \copyright 显示发行条款 \h 显示 SQL 命令的说明 \? 显示 pgsq ...
- postgres表空间、模式、表和用户/角色之间的关系
一. 角色(role)和用户(user) 1. role postgres=# create role kanon password 'kanon'; #使用role创建 ...
随机推荐
- mysql right() 函数
mysql> ); +---------------------+ | right() | +---------------------+ | dedede | +--------------- ...
- Spring Cloud Gateway(十一):全局过滤器GlobalFilter
本文基于 spring cloud gateway 2.0.1 1.简介 GlobalGilter 全局过滤器接口与 GatewayFilter 网关过滤器接口具有相同的方法定义.全局过滤器是一系列特 ...
- Redis 下载 安装
Redis 官网 https://redis.io/ github 主页 https://github.com/antirez/redis 下载页面 https://redis.io/download ...
- 如何在 Debian 9 上安装和使用 Docker
Docker 是一个容器化平台,允许您快速构建,测试和部署应用程序,作为便携式,自给自足的容器,几乎可以在任何地方运行. Docker 是容器技术的事实上的标准,它是 DevOps 工程师及其持续集成 ...
- IT 常用单词表
程序员英语单词册 前言 程序员必备的600个英语词汇(1) 程序员必备的600个英语词汇(2) 程序员必备的600个英语词汇(3) 程序员必备的600个英语词汇(4) 程序员不 ...
- centos 添加/删除用户和用户组
centos系统添加/删除用户和用户组 在centos中增加用户使用adduser命令而创建用户组使用groupadd命令,这个是不是非常的方便呀,其实复杂点的就是用户的组与组权限的命令了,下 ...
- Jmeter命令行运行配置环境变量
Jmeter命令行运行配置环境变量 在打开jmeter GUI界面时会弹出cmd命令窗口提示:压测时不要用GUI,要用命令行 在cmd命令行里面运行jmeter的话,需要配置jmeter环境变量,下面 ...
- 004 vue组件
一:创建组件 1.第一种创建方式 主要有Vue.extend,Vue.component. 注释掉的代码是一步一步的推断,后面的代码是简化的代码. <!DOCTYPE html> < ...
- [转]c++ pthread 多线程简介
链接:https://blog.csdn.net/u013894427/article/details/83827173 pthread 入口函数类型说明void * func1(void * t)v ...
- docker本地化异常:/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
docker中经常设置不了 环境变量$LC_ALL, 导致报很多奇怪的编码错误: /bin/sh: warning: setlocale: LC_ALL: cannot change locale ...