Re: Upgrading DBs with type=citext from 9.0.5 to 9.1.1 using pg_upgrade and create extension

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Upgrading DBs with type=citext from 9.0.5 to 9.1.1 using pg_upgrade and create extension
Дата
Msg-id 9017.1321887060@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Upgrading DBs with type=citext from 9.0.5 to 9.1.1 using pg_upgrade and create extension  (Rudolf van der Leeden <rudolf.vanderleeden@scoreloop.com>)
Ответы Re: Upgrading DBs with type=citext from 9.0.5 to 9.1.1 using pg_upgrade and create extension
Список pgsql-admin
Rudolf van der Leeden <rudolf.vanderleeden@scoreloop.com> writes:
> we are running into a problem with the following upgrade scenario:

> Current DB (9.0.5, 300G) is using a table with 2 citext columns and indexes on both columns.
> Using pg_upgrade to move from 9.0.5 to 9.1.1 works OK and is done (without the ANALYZE) in 30s.
> Because we are using the citext type, the following statement has been executed after the upgrade:
>    CREATE EXTENSION citext FROM unpackaged

> SELECTs are now possible, but we are having problems with UPDATE:
>    ERROR:  could not determine which collation to use for string comparison

Hmm.  I think the citext update script is missing a couple of things.
Try this after the CREATE EXTENSION step:

update pg_attribute set attcollation = 100 where atttypid = 'citext'::regtype;

It looks like pg_index.indcollation is an issue too, but the least
fragile way to fix that might be to drop and recreate indexes on
citext columns.

            regards, tom lane

В списке pgsql-admin по дате отправления:

Предыдущее
От: Rudolf van der Leeden
Дата:
Сообщение: Upgrading DBs with type=citext from 9.0.5 to 9.1.1 using pg_upgrade and create extension
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Upgrading DBs with type=citext from 9.0.5 to 9.1.1 using pg_upgrade and create extension