Re: [SQL] TRUNCATE TABLE corrupts pg_class.relfilenode =pg_attrdef.pg_attrdef
От | Sebastien FLAESCH |
---|---|
Тема | Re: [SQL] TRUNCATE TABLE corrupts pg_class.relfilenode =pg_attrdef.pg_attrdef |
Дата | |
Msg-id | beb119f4-3cbd-8b96-f4cf-f5ca748d7dad@4js.com обсуждение исходный текст |
Ответ на | [SQL] TRUNCATE TABLE corrupts pg_class.relfilenode = pg_attrdef.pg_attrdef (Sebastien FLAESCH <sf@4js.com>) |
Список | pgsql-sql |
We will test with 9.6.3 too. Seb On 05/22/2017 12:51 PM, Sebastien FLAESCH wrote: > Hi all, > > Testing with Postgresql 9.6rc1 (but also detected with prior versions): > > It is normal that a TRUNCATE TABLE statement changes the table/sequence relation in pg_attrdef? > > test1=> create table mytab ( pkey serial, name varchar(10) ); > test1=> select a.adsrc from pg_class p join pg_attrdef a on (p.relfilenode = a.adrelid) where lower(p.relname) = lower('mytab'); > adsrc > ------------------------------------- > nextval('mytab_pkey_seq'::regclass) > (1 row) > > test1=> truncate table mytab; > TRUNCATE TABLE > test1=> select a.adsrc from pg_class p join pg_attrdef a on (p.relfilenode = a.adrelid) where lower(p.relname) = lower('mytab'); > adsrc > ------- > (0 rows) > > test1=> select adrelid, adsrc from pg_attrdef where adsrc like '%mytab%'; > adrelid | adsrc > ---------+------------------------------------- > 6904163 | nextval('mytab_pkey_seq'::regclass) > (1 row) > > > Are we mis-using the condition (p.relfilenode = a.adrelid) in the first SELECT? > > How can we easily check if a table is defined with a SERIAL type? > > Thanks! > Seb > >
В списке pgsql-sql по дате отправления: