Re: Instability in TRUNCATE regression test

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Instability in TRUNCATE regression test
Дата
Msg-id 20060628175022.GA30996@surnet.cl
обсуждение исходный текст
Ответ на Re: Instability in TRUNCATE regression test  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Instability in TRUNCATE regression test  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: Instability in TRUNCATE regression test  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> > Tom Lane wrote:
> >> 1. Find a way to make the processing order consistent (eg by driving it
> >> off OID ordering).  Doesn't seem easy, but maybe I'm missing an idea.
> 
> > Hmm, what about
> 
> > 1. get the complete list of tables to truncate, AccessShareLock'ed, get
> > their names
> > 2. release locks
> > 3. sort the list lexicographically (or by Oid, whatever)
> > 4. acquire the stronger locks, in list order, taking care of not
> > aborting if a table is no longer there
> > 5. truncate
> 
> Releasing locks is no good ... what if someone adds/drops FK constraints
> while you've not got any lock?

Recheck after acquiring the stronger locks, unlock and drop from list.

> One thing I was toying with was to add an index to pg_constraint on,
> say, (confrelid, conrelid), and to replace the existing seqscans for FK
> constraints with scans using this index.  The second-column ordering
> would guarantee everybody visits the entries in the same order.  Not
> sure about overall performance implications ... in a small database,
> several indexscans might take more time than one seqscan.

I think there is more than one place that would benefit from such an
index.  Probably turn into a syscache as well?

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


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

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: Fixed length datatypes. WAS [GENERAL] UUID's as
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Fixed length datatypes. WAS [GENERAL] UUID's as