8.2.0 upgrade issue: loss of CONNECT rights

Поиск
Список
Период
Сортировка
От L Bayuk
Тема 8.2.0 upgrade issue: loss of CONNECT rights
Дата
Msg-id 20061228004546.GB364@mail.mindspring.com
обсуждение исходный текст
Ответы Re: 8.2.0 upgrade issue: loss of CONNECT rights  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-admin
Another thing to watch out for when upgrading to 8.2.0:

I had some 8.1.x databases with restricted rights, like REVOKE CREATE ON
DATABASE. After pg_dumpall and reload into 8.2.0, I lost CONNECT rights on
those databases. So only the superuser account can connect.  The reason
seems to be that my dump file had REVOKE ALL ON DATABASE, then added the
specific GRANT rights. At 8.2.0, REVOKE ALL includes revoking CONNECT
rights even though they were always granted at 8.1.5.

For example, here are my database rights under 8.1.5:
   {postgres=CT/postgres,=T/postgres,lbayuk=C/postgres}
So public has TEMP, I have CREATE (and TEMP, via public).

My dump file had something like this:
   CREATE DATABASE test WITH ...
   REVOKE ALL ON DATABASE test FROM PUBLIC;
   REVOKE ALL ON DATABASE test FROM postgres;
   GRANT ALL ON DATABASE test TO postgres;
   GRANT TEMPORARY ON DATABASE test TO PUBLIC;
   GRANT CREATE ON DATABASE test TO lbayuk;

After the upgrade to 8.2.0 the database rights are:
   {postgres=CTc/postgres,=T/postgres,lbayuk=C/postgres}
So now me and PUBLIC cannot connect because we don't have the new 'c' right.

I tried using both 8.1.5 pg_dumpall and 8.2.0 pg_dumpall to dump the
8.1.5 database, and both had the problem.
To fix: GRANT CONNECT ON DATABASE ... TO PUBLIC;

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

Предыдущее
От: Bruno Wolff III
Дата:
Сообщение: Re: Dump and Query
Следующее
От: Tom Lane
Дата:
Сообщение: Re: 8.2.0 upgrade issue: loss of CONNECT rights