1. 程式人生 > >PostgreSQL 使用小點

PostgreSQL 使用小點

color 是否 mysql table 字節 big 個數 tar call

1、timestamp 有分時區和無時區(減少使用),8個字節,包含日期和時間,範圍是:公元前4713 - 公元294276。底層存儲的是時間戳,這對任何地區的都一樣,而具體時間顯示則可從數據庫層面設置時區、加字段設置時區、取數據轉化時區、取出後在代碼層轉化時區。

2、自增ID需要設置sequence,它沒有mysql那種自增功能。

CREATE SEQUENCE gys.mytable_myid_seq
    INCREMENT 1
    START 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 2;

alter table
gys.mytable alter column myid set default nextval(gys.mytable_myid_seq);

  序列函數:

函數 返回類型 描述
nextval(regclass) bigint 遞增序列對象到它的下一個數值並且返回該值。這個動作是自動完成的。即使多個會話並發運行nextval,每個進程也會安全地收到一個唯一的序列值。
currval(regclass) bigint 在當前會話中返回最近一次nextval抓到的該序列的數值。(如果在本會話中從未在該序列上調用過 nextval,那麽會報告一個錯誤。)請註意因為此函數返回一個會話範圍的數值,而且也能給出一個可預計的結果,因此可以用於判斷其它會話是否執行過nextval。

lastval() bigint 返回當前會話裏最近一次nextval返回的數值。這個函數等效於currval,只是它不用序列名為參數,它抓取當前會話裏面最近一次nextval使用的序列。如果當前會話還沒有調用過nextval,那麽調用lastval將會報錯。
setval(regclass, bigint) bigint 重置序列對象的計數器數值。設置序列的last_value字段為指定數值並且將其is_called字段設置為true,表示下一次nextval將在返回數值之前遞增該序列。
setval(regclass, bigint, boolean) bigint 重置序列對象的計數器數值。功能等同於上面的setval函數,只是is_called可以設置為true或false。如果將其設置為false,那麽下一次nextval將返回該數值,隨後的nextval才開始遞增該序列。

PostgreSQL 使用小點