1. 程式人生 > >PostgreSQL之Sequence序列

PostgreSQL之Sequence序列

PostgreSQL是一種關係型資料庫,和Oracle、MySQL一樣被廣泛使用。平時工作主要使用的是PostgreSQL,所以有必要對其相關知識做一下總結和掌握,先總結下序列。
一、 Sequence序列
Sequence是一種自動增加的數字序列,一般作為行或者表的唯一標識,用作代理主鍵。
1、Sequence的建立

例子:建立一個seq_commodity,最小值為1,最大值為9223372036854775807,從1開始,增量的步長為1,快取為1的迴圈排序Sequence。

SQL語句如下:

 CREATE SEQUENCE seq_commodity
  INCREMENT 1
MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1 CYCLE;
// 迴圈,表示到最大值後從頭開始

2、查詢Sequence中的值
SELECT nextval('seq_commodity');
這裡nextval表示下一個值

3、修改 Sequence
用alter sequence來修改,除了start以外的所有sequence引數都可以被修改,
alter sequence 的例子 (SQL語句)

ALTER SEQUENCE seq_commodity 
  INCREMENT 10 
  MAXVALUE 10000
CYCLE NOCACHE ;

當然如果想要修改start的值,可以先用 drop sequence刪掉,然後再重新建立。

4、刪除Drop Sequence
DROP SEQUENCE seq_commodity;

5、Sequence分配策略
呼叫select nextval(seq_ commodity);返回下一個序列號後,系統優先給使用者分配一個序號,接著系統的次Sequence立刻加上設定的步長(increment 1),不論此序號使用者是否使用;
呼叫select currval(seq_ commodity);返回當前的序列號,該序列號只要沒有被使用,就不會變化,如果當前請求一直使用,那麼不會再分配給其他的請求,因為該序列號已經分配給當前請求。

相關推薦

PostgreSQLSequence序列(轉)

本文轉載自:https://blog.csdn.net/omelon1/article/details/78798961 Sequence序列 Sequence是一種自動增加的數字序列,一般作為行或者表的唯一標識,用作代理主鍵。 1、Sequence的建立 例子:建立一個seq_commod

PostgreSQLSequence序列

PostgreSQL是一種關係型資料庫,和Oracle、MySQL一樣被廣泛使用。平時工作主要使用的是PostgreSQL,所以有必要對其相關知識做一下總結和掌握,先總結下序列。 一、 Sequence序列 Sequence是一種自動增加的數字序列,一

[轉]greenplum(postgresql)數據字典

pda 系統 cad lang 地址 一個數 opera attribute string greenplum是基於postgresql開發的分布式數據庫,裏面大部分的數據字典是一樣的。我們在維護gp的時候對gp的數據字典比較熟悉,特此分享給大家。在這裏不會詳細介紹每個字典

序列Hessian序列

java hessian Hessian序列化與Java默認的序列化區別? 1、 Hessian 支持跨語言串行 2、 比java序列化具有更好的性能和易用性 3、 支持的語言比較多package com.xingej.ser.impl; import java.io.ByteAr

postgresqlDropuser

postgresql dropuser Dropuser 刪除一個PostgreSQL用戶帳戶,需要說明的是只有超級用戶或帶有CREATEROLE權限的用戶可以執行該命令,如果要刪除超級用戶,只能通過超級用戶的身份執行該命令。該命令的使用方式如下: dropuser [option.

django學習- json序列

hid itl utf-8 rip bject json.js inf ack data 序列化操作 - Errordict - 自定義Encoder - django的模塊可以直接序列化 第一種:

PostgresqlVACUUM和VACUUM FULL對比

其它 一次 能夠 cat 定期 規劃 相對 得到 如果 VACUUM命令存在兩種形式,VACUUM和VACUUM FULL,它們之間的區別見如下表格: 無VACUUM VACUUM VACUUM FULL 刪除大量數據之後 只是將刪除數據

Java Serializable 序列化和反序列化的概念,作用的通俗易懂的解釋

計算 transient 全部 序列化對象 語義 meta person int 較高的 遇到這個 Java Serializable 序列化這個接口,我們可能會有如下的問題a,什麽叫序列化和反序列化b,作用。為啥要實現這個 Serializable 接口,也就是為啥要序列

Permutation Sequence 序列排序

刷的 div www sequence htm -- bing all order The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of

PostgreSQLV10使用者密碼認證及加密演算法scram-sha-256

PG V10官方手冊關於使用者密碼的描述 PostgreSQL資料庫口令獨立於作業系統使用者口令。每個資料庫使用者的口令被儲存在pg_authid系統目錄中。    口令可以用 SQL 命令CREATE USER和ALTER ROLE管理,例如CREATE USE

(轉)Weblogic序列化高危漏洞

轉自:http://www.sohu.com/a/154670296_99890213?qq-pf-to=pcqq.c2c 我選擇的是第五種方法解決的。 一、WebLogic Server Security Alert 安全問題描述 WebLogic Server反序列化安全漏洞補丁:C

mybatis 在oracle資料庫中插入資料時獲取自增ID sequence序列

在oracle中sequence就是序號,每次取的時候它會自動增加。sequence與表沒有關係。 Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE許可權。 建立語句如下: CREATE SEQUEN

Django快取+序列化+訊號+ORM效能優化+驗證碼

快取 由於Django是動態網站,所有每次請求均會去資料進行相應的操作,當程式訪問量大時,耗時必然會更加 明顯,最簡單解決方式是使用:快取,快取將一個某個views的返回值儲存至記憶體或者memcache中,5分 鍾內再有人來訪問時,則不再去執行view中的操作,而是直接從記憶體或者Redis

【剖析 | SOFARPC 框架】系列SOFARPC序列化比較

前言 在應用服務化架構中,RPC 框架是非常重要的基礎元件。而在 RPC 框架當中,序列化(以及反序列化)又是必不可少的一環。因為序列化的效能對整體框架效能有比較大的影響,之前的文章中,我們已經詳細剖析了 SOFARPC 各個核心功能模組的實現原理,想必大家已經很清楚 RPC 的呼叫流程。 在整個 RPC

JAVA基礎 關於序列化與反序列

序列化Serializable,是指將JAVA物件轉換為字元序列的過程,將物件的各屬性儲存起來,在適當的時候獲取並使用。 反序列化是和序列化相反的過程,就是把字元序列轉化為物件的過程。 在JAVA編碼中被廣泛提及,主要應用在以下情況中: 1.持久化儲存資料; 2.程序間的遠端通訊。

PostgreSQL Function NOTICE

原帖地址:http://zhenghaoju700.blog.163.com/blog/static/13585951820116782843994/ 先安裝一個PostgreSQL(見補充知識) 比較Oracle PL/SQL  PL/SQL 中有&n

c#——EnumJson序列

象中包含列舉型別,在序列化成Json字串的時候,顯示的是列舉型別對應的數字。 需要在JSON轉化的時候做一些操作,使之顯示字串 在列舉型別上新增屬性標籤   [JsonConverter(typeof(StringEnumConverter))] 舉例如下:

Java Serializable 序列化和反序列化的概念 通俗易懂!!!

轉自: https://blog.csdn.net/qq_27093465/article/details/78544505 遇到這個 Java Serializable 序列化這個介面,我們可能會有如下的問題a,什麼叫序列化和反序列化 b,作用。為啥要實現這個 Serializable

Django-Rest-Framework的序列serializers 序列化元件

Django-Rest-Framework的序列化之serializers 序列化元件     正常的序列化 from django.http import HttpResponse, JsonResponse from django.views import View

[BOI2007]Sequence 序列問題 BZOJ1345

長度 一個 can ctype ora algo () 測試數據 cstring 題目描述 對於一個給定的序列a1, …, an,我們對它進行一個操作reduce(i),該操作將數列中的元素ai和ai+1用一個元素max(ai,ai+1)替代,這樣得到一個比原來序列短的新