小编Lui*_*mim的帖子

恢复后串行字段的默认值更改

今天我在恢复一个PostgreSQL数据库后发现一个奇怪的行为:所有serial字段默认值的模式都被修剪掉了。

例如:

CREATE TABLE testschema.testtable
(
   id serial, 
   name character varying(255), 
   CONSTRAINT pk_testtable PRIMARY KEY (id)
) 
WITH (
  OIDS = FALSE
)
;


SELECT a.attnum, n.nspname, c.relname, d.adsrc AS default_value
FROM pg_attribute AS a
JOIN pg_class AS c ON a.attrelid = c.oid
JOIN pg_namespace AS n ON c.relnamespace = n.oid
LEFT OUTER JOIN pg_attrdef AS d ON d.adrelid = c.oid AND d.adnum = a.attnum
WHERE a.attnum > 0 
  AND n.nspname = 'testschema' 
  AND c.relname = 'testtable' 
Run Code Online (Sandbox Code Playgroud)

该 …

postgresql

5
推荐指数
1
解决办法
3228
查看次数

标签 统计

postgresql ×1