Re: [GENERAL] trouble with pg_upgrade 9.0 -> 9.1

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [GENERAL] trouble with pg_upgrade 9.0 -> 9.1
Дата
Msg-id 20121218163826.GC24700@momjian.us
обсуждение исходный текст
Ответ на Re: [GENERAL] trouble with pg_upgrade 9.0 -> 9.1  (Bruce Momjian <bruce@momjian.us>)
Ответы Re: [GENERAL] trouble with pg_upgrade 9.0 -> 9.1
Список pgsql-hackers
On Mon, Dec 17, 2012 at 09:21:59PM -0500, Bruce Momjian wrote:
> > Mismatch of relation names: database "database", old rel public.lob.ВерсияВнешнегоДокумента$Документ_pkey, new rel
public.plob.ВерсияВнешнегоДокумент
> > а$Документ
> > Failure, exiting

I am now confused over the error message above.  This is the code that
is generating the error:
       /*        * TOAST table names initially match the heap pg_class oid.        * In pre-8.4, TOAST table names
changeduring CLUSTER; in pre-9.0,        * TOAST table names change during ALTER TABLE ALTER COLUMN SET TYPE.        *
In>= 9.0, TOAST relation names always use heap table oids, hence        * we cannot check relation names when upgrading
frompre-9.0.        * Clusters upgraded to 9.0 will get matching TOAST names.        */       if
(strcmp(old_rel->nspname,new_rel->nspname) != 0 ||           ((GET_MAJOR_VERSION(old_cluster.major_version) >= 900 ||
         strcmp(old_rel->nspname, "pg_toast") != 0) &&            strcmp(old_rel->relname, new_rel->relname) != 0))
     pg_log(PG_FATAL, "Mismatch of relation names: database \"%s\", "                  "old rel %s.%s, new rel
%s.%s\n",                 old_db->db_name, old_rel->nspname, old_rel->relname,                  new_rel->nspname,
new_rel->relname);

Looking at the Russian, I see 'old rel' public.lob.* and 'new rel'
public.plob.*.  I assume the database is called 'database', and the
schema is called 'public', but what is 'lob' and 'plob'?  If those are
tables or indexes, what is after the period?  Do you have periods
embedded in the table/index names?  That is certainly possible, but not
common, e.g.:
test=> create table "test.x" (y int);CREATE TABLE

Is the schema called "public.lob"?  I expected to see schema.objname.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +



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

Предыдущее
От: Ronan Dunklau
Дата:
Сообщение: Re: [v9.3] writable foreign tables
Следующее
От: Peter Eisentraut
Дата:
Сообщение: system administration functions with hardcoded superuser checks