Re: BUG #16045: vacuum_db crash and illegal memory alloc afterpg_upgrade from PG11 to PG12
От | Tomas Vondra |
---|---|
Тема | Re: BUG #16045: vacuum_db crash and illegal memory alloc afterpg_upgrade from PG11 to PG12 |
Дата | |
Msg-id | 20191009230759.ge66neof5qj627a2@development обсуждение исходный текст |
Ответ на | Re: BUG #16045: vacuum_db crash and illegal memory alloc afterpg_upgrade from PG11 to PG12 (Tomas Vondra <tomas.vondra@2ndquadrant.com>) |
Ответы |
Re: BUG #16045: vacuum_db crash and illegal memory alloc after pg_upgrade from PG11 to PG12
|
Список | pgsql-bugs |
Well, I think I found the root cause. It's because of 7c15cef86d, which changed the definition of sql_identifier so that it's a domain over name instead of varchar. So we now have this: SELECT typname, typlen FROM pg_type WHERE typname = 'sql_identifier': -[ RECORD 1 ]--+--------------- typname | sql_identifier typlen | -1 instead of this -[ RECORD 1 ]--+--------------- typname | sql_identifier typlen | 64 Unfortunately, that seems very much like a break of on-disk format, and after pg_upgrade any table containing sql_identifier columns is pretty much guaranteed to be badly mangled. For example, the first row from the table used in the original report looks like this on PostgreSQL 11: test=# select ctid, * from q_tbl_archiv limit 1; -[ RECORD 1 ]----+-------------------------- ctid | (0,1) table_name | _pg_foreign_data_wrappers column_name | foreign_data_wrapper_name ordinal_position | 5 col_qualifier | foreign_data_wrapper_name id_column | id_default | while on PostgreSQL 12 after pg_upgrade it looks like this test=# select ctid, table_name, column_name, ordinal_position from q_tbl_archiv limit 1;: -[ RECORD 1 ]----+--------------------------------------------------------- ctid | (0,1) table_name | 5_pg_foreign_data_wrappers5foreign_data_wrapper_name\x05 column_name | _data_wrapper_name ordinal_position | 0 Not sure what to do about this :-( regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-bugs по дате отправления: