2013-08-06 42 views
0

我用下面这个查询获取序列的完整信息来自PostgreSQL目录表如何从Postgresql目录表中检索Postgresql序列缓存值?

select s.sequence_name, s.start_value, s.minimum_value, s.maximum_value, s.increment, s.cycle_option 
from information_schema.sequences s 
where s.sequence_schema='schema1' 

还有一个属性值对象是无法得到的是“高速缓存”的价值。

上午使用PostgreSQL 9.2

这里是具有高速缓存序列的DDL语法,

ALTER SEQUENCE [IF EXISTS]名[加[BY]增量]

[MINVALUE MINVALUE | NO MINVALUE] [MAXVALUE maxvalue | NO MAXVALUE ]

[START [WITH]开始]

[RESTART [WITH]重启]

[CACHE缓存] [[NO] CYCLE]

[归{ table_name.column_name | NONE}]

是否有任何Postgres函数来获取此序列缓存值?

感谢,

拉维

回答

0

您可以查询序列与它的名字,就好像它是一个表。

例如:

CREATE SEQUENCE s CACHE 10; 
SELECT cache_value FROM s; 

结果:

 
cache_value 
------------- 
      10 
(1 row) 

或者

\x 
SELECT * FROM s; 

结果:

 
-[ RECORD 1 ]-+-------------------- 
sequence_name | s 
last_value | 1 
start_value | 1 
increment_by | 1 
max_value  | 9223372036854775807 
min_value  | 1 
cache_value | 10 
log_cnt  | 0 
is_cycled  | f 
is_called  | f 
+0

非常感谢在t他的信息。 –