Error while altering an inheritance hierarchy in mid-query

Поиск
Список
Период
Сортировка
От Bob Lunney
Тема Error while altering an inheritance hierarchy in mid-query
Дата
Msg-id 580199.66319.qm@web39702.mail.mud.yahoo.com
обсуждение исходный текст
Ответы Re: Error while altering an inheritance hierarchy in mid-query
Список pgsql-bugs
My database implements partitioning using inheritance and constraint exclusion, as described in the fine manual.  Each
partitionholds data for a single day, and there are well over 300 child partitions.   

The exception mentioned below notwithstanding, the technique works exceedingly well and is a real life saver when you
havehalf a billion rows and climbing.   

While a query was running on the partition for today a maintenance job was run that summarizes data in a different
partitionusing the technique described in section 5.9.3. -  "Managing Partitions" of the manual, with a twist.
Basically,it goes like this: 

1.  A select into query is run which summarizes the data from a partition into a table outside the inheritance
hierarchy,which is then indexed. 
2.  Then
  a.  a transaction is begun,
  b.  the original partition is dropped,
  c.  the new table renamed to the original partition's name,
  d.  the new table's unique index is renamed,
  e.  the appropriate check constraint is added,
  f.  select privilege is granted, and
  g.  the transaction is committed.

So far so good, the maintenance job works fine and is quite speedy.  The problem occurs when a select query is started
priorto the sequence of events above, those steps complete, and an error is thrown saying "PGRES_FATAL_ERROR - ERROR:
couldnot open relation with OID 64412".  Of course, seconds later the query runs fine, and there is no object with OID
64412in the database. 

It seems to me that removing and inserting partitions into the inheritance hierarchy may not be a consistent and/or
isolatedaction with respect to queries that may be using the inheritance hierarchy.  To be fair, this sequence of
eventsdoesn't normally happen in daily processing, but the behavior is not what I expected, nor is it mentioned in the
manual. Am I missing or misinterpreting something? 

Thanks in advance for your advice!

Bob Lunney

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #5378: Little inaccuracy in the manual
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Error while altering an inheritance hierarchy in mid-query