Package: postgresql-common
Version: 36
Severity: normal
File: /usr/bin/pg_upgradecluster

I have upgraded a number of 8.0 databases to 8.1 successfully so far,
but one in particular failed pretty badly.

There is a rather severe problem if there is a user and a group in the 8.0
database with the same name.  pg_upgradecluster makes a mess of the
translation from users/groups to roles, and as a result any privileges 
which were granted to the group seem to be missing from the new database.
Worst of all, pg_upgradecluster reports a successful upgrade afterwards.

If a group and user have the same name in 8.0, and the user is a member
of the group, then nothing needs to be done since in 8.1 these are now the
same object in the same namespace.  If a user and group have the same name
in 8.0, and the user is *not* a member of the group, then there is no 
equivalent in 8.1 and pg_upgradecluster should stop and ask the user to
rename either the user or the group.

I haven't checked thoroughly, but I suspect that pg_upgradecluster is not
executing the operations on the new database within a single transaction.
Apart from the severe performance penalty (my databases typically contain
gigabytes of 50-byte rows, and even a small test subset took hours to
upgrade on my fastest machine), this allows all kinds of error cases to
proceed through the upgrade uncaught.

-- System Information:
Debian Release: 3.1
  APT prefers stable
  APT policy: (500, 'stable'), (102, 'testing'), (101, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.13.3-zb5s-s2-nf
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages postgresql-common depends on:
ii  adduser                       3.63       Add and remove users and groups
ii  debconf [debconf-2.0]         1.4.30.13  Debian configuration management sy
ii  lsb-base                      3.0-12     Linux Standard Base 3.0 init scrip

Versions of packages postgresql-common recommends:
ii  openssl                   0.9.7e-3sarge1 Secure Socket Layer (SSL) binary a

-- debconf information:
* postgresql-common/obsolete-major:


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to