PostgreSQL教程

postgreSQL创建自增序列

本文主要是介绍postgreSQL创建自增序列,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

创建自增序列


https://blog.csdn.net/songchunyi/article/details/7711108?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-7711108-blog-79727948.pc_relevant_antiscanv3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-7711108-blog-79727948.pc_relevant_antiscanv3&utm_relevant_index=2
序列类型
CREATETABLE t (id SERIAL);
等价于
CREATE SEQUENCE t_id_seq;
CREATE TABLE t ( id integer NOT NULL DEFAULT nextval(‘t_id_seq’) );
ALTER SEQUENCE t_id_seq OWNED BY t_id;


链接:https://wenku.baidu.com/view/ecc2cc376f175f0e7cd184254b35eefdc8d31524.html


create table tests (id SERIAL, info jsonb) ;
CREATE INDEX tests_idx ON tests USING gin (info) ;

 

GIN 索引可以被用来有效地搜索在大量jsonb文档(数据)中出现 的键或者键值对。提供了
两种 GIN “操作符类”,它们在性能和灵活 性方面做出了不同的平衡。
jsonb的默认 GIN 操作符类支持使用@>、 ?、?&以及?|操作符的查询(这些 操作符实现的详
细语义请见表 9.45)。 使用这种操作符类创建一个索引的例子:
CREATE INDEX idxgin ON api USING gin (jdoc);
非默认的 GIN 操作符类jsonb_path_ops只支持索引 @>操作符。使用这种操作符类创建一个
索引的例子:
CREATE INDEX idxginp ON api USING gin (jdoc jsonb_path_ops);

INSERT INTO fruits(name) VALUES('orange');

或者:

INSERT INTO fruits(id,name) VALUES(DEFAULT,'apple');

https://www.cnblogs.com/impromptu/p/15699188.html


重置序列:
alter sequence npa_site_planning_id_seq restart with 1

 

//清空表数据
TRUNCATE student;
//清空表数据,自增从1开始
TRUNCATE student RESTART IDENTITY;

select setval('t_user_id_seq', 10000);

问题:
ERROR: relation "test_id" does not exist
原因test_id 作为序列时在表中重命名为了test_id_seq,所以操作时使用这个列名就可以

查看表结构,发现已改名:

testdb=> \d tests ;
Table "public.tests"
Column | Type | Collation | Nullable | Default
---------+---------+-----------+----------+-----------------------------------
test_id | integer | | not null | nextval('tests_id_seq'::regclass)
info | jsonb | | |
Indexes:
"tests_idx" gin (info)

\d: extra argument ";" ignored
testdb=> alter sequence tests_id_seq restart with 1 ;
ALTER SEQUENCE
https://blog.csdn.net/qq_35771567/article/details/103616842?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-103616842-blog-86351499.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-103616842-blog-86351499.pc_relevant_paycolumn_v3

 

这篇关于postgreSQL创建自增序列的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!