fix schema ownership for database owner on first connection

Поиск
Список
Период
Сортировка
От Fabien COELHO
Тема fix schema ownership for database owner on first connection
Дата
Msg-id Pine.LNX.4.60.0406081554470.27846@sablons.cri.ensmp.fr
обсуждение исходный текст
Ответы Re: fix schema ownership for database owner on first connection  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: fix schema ownership for database owner on first connection  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-patches
Dear patchers,

Please find attached a patch to fix schema ownership on first connection,
so that non system schemas reflect the database owner.

(1) It adds a new "datisinit" attribute to pg_database, which tells
     whether the database initialization was performed or not.
     The documentation is updated accordingly.

(2) This boolean is tested in postinit.c:ReverifyMyDatabase,
     and InitializeDatabase is called if necessary.

(3) The routine updates pg_database datisinit, as well as pg_namespace
     ownership and acl stuff.

(4) Some validation is added. This part validates for me
     (although rules and errors regression tests are broken in current
      cvs head, independtly of this patch).

Some questions/comments :

- is the place for the first connection housekeeping updates appropriate?
   it seems so from ReverifyMyDatabase comments, but these are only comments.

- it is quite convenient to use SPI_* stuff for this very rare updates,
   but I'm not that confident about the issue... On the other hand, the
   all-C solution would result in a much longer and less obvious code:-(

- it is unclear to me whether it should be allowed to skip this under
   some condition, when the database is accessed in "debug" mode from
   a standalone postgres for instance?

- also I'm wondering how to react (what to do and how to do it) on
   errors within or under these initialization. For instance, how to
   be sure that the CurrentUser is reset as expected?

Thanks in advance for any comments.

Have a nice day.

--
Fabien.

Вложения

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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: vacuum.c refactoring
Следующее
От: Tom Lane
Дата:
Сообщение: Re: fix schema ownership for database owner on first connection