Heads-up: macOS Big Sur upgrade breaks EDB PostgreSQL installations

Started by Dave Pageabout 5 years ago6 messages
#1Dave Page
dpage@pgadmin.org

Hi,

This is more of a head-ups than anything else, as I suspect this may come
up in various forums.

The PostgreSQL installers for macOS (from EDB, possibly others too) create
the data directory in /Library/PostgreSQL/<major_ver>/data. This has been
the case since the first release, 10+ years ago.

It looks like the Big Sur upgrade has taken it upon itself to "fix" any
filesystem permissions it doesn't like. On my system, this resulted in the
data directory having 0755 permissions, which meant that PostgreSQL refused
to start. Manually changing the permissions back to 0700 (0750 should also
work) fixes the issue.

I'm not sure there's much we can do about this - systems that are likely to
be affected are already out there, and we obviously don't want to relax the
permissions Postgres requires.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EDB: http://www.enterprisedb.com

#2Jonathan S. Katz
jkatz@postgresql.org
In reply to: Dave Page (#1)
1 attachment(s)
Re: Heads-up: macOS Big Sur upgrade breaks EDB PostgreSQL installations

On 11/16/20 4:27 AM, Dave Page wrote:

Hi,

This is more of a head-ups than anything else, as I suspect this may
come up in various forums.

The PostgreSQL installers for macOS (from EDB, possibly others too)
create the data directory in /Library/PostgreSQL/<major_ver>/data. This
has been the case since the first release, 10+ years ago.

It looks like the Big Sur upgrade has taken it upon itself to "fix" any
filesystem permissions it doesn't like. On my system, this resulted in
the data directory having 0755 permissions, which meant that PostgreSQL
refused to start. Manually changing the permissions back to 0700 (0750
should also work) fixes the issue.

I'm not sure there's much we can do about this - systems that are likely
to be affected are already out there, and we obviously don't want to
relax the permissions Postgres requires.

Thanks for raising this. We should provide some guidance on upgrading
this when upgrading to Big Sur.

Do we know where the other macOS installers place their data
directories? We should reach out to the installer maintainers to see if
they are seeing the same behavior so we know what guidance to issue.

Thanks,

Jonathan

Attachments:

OpenPGP_0xF1049C729F1C6527.ascapplication/pgp-keys; name=OpenPGP_0xF1049C729F1C6527.ascDownload
#3Dave Page
dpage@pgadmin.org
In reply to: Jonathan S. Katz (#2)
Re: Heads-up: macOS Big Sur upgrade breaks EDB PostgreSQL installations

On Mon, Nov 16, 2020 at 3:55 PM Jonathan S. Katz <jkatz@postgresql.org>
wrote:

On 11/16/20 4:27 AM, Dave Page wrote:

Hi,

This is more of a head-ups than anything else, as I suspect this may
come up in various forums.

The PostgreSQL installers for macOS (from EDB, possibly others too)
create the data directory in /Library/PostgreSQL/<major_ver>/data. This
has been the case since the first release, 10+ years ago.

It looks like the Big Sur upgrade has taken it upon itself to "fix" any
filesystem permissions it doesn't like. On my system, this resulted in
the data directory having 0755 permissions, which meant that PostgreSQL
refused to start. Manually changing the permissions back to 0700 (0750
should also work) fixes the issue.

I'm not sure there's much we can do about this - systems that are likely
to be affected are already out there, and we obviously don't want to
relax the permissions Postgres requires.

Thanks for raising this. We should provide some guidance on upgrading
this when upgrading to Big Sur.

Do we know where the other macOS installers place their data
directories? We should reach out to the installer maintainers to see if
they are seeing the same behavior so we know what guidance to issue.

I believe postgres.app only installs for the current user, and puts it's
data under ~/Library/Application Support/Postgres.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EDB: http://www.enterprisedb.com

#4Pavel Borisov
pashkin.elfe@gmail.com
In reply to: Dave Page (#3)
Re: Heads-up: macOS Big Sur upgrade breaks EDB PostgreSQL installations

I suppose there are many ways to have PG on OSX i.e. package managers
(Homebrew, Macports), App installers etc and so many places anyone can find
his data directory reside in. Generally I prefer data directory to be
somewhere inside the user home dir as OSX will take care of possible
backups and will not generally modify its contents during migration betweeb
osx versions and/or different machines. It is not only the question of
permissions.

Any options inside user homedir are equally suitable IMO.

---
Best regards,
Pavel Borisov

Postgres professional: http://postgrespro.com

#5Dave Page
dpage@pgadmin.org
In reply to: Pavel Borisov (#4)
Re: Heads-up: macOS Big Sur upgrade breaks EDB PostgreSQL installations

On Mon, Nov 16, 2020 at 4:45 PM Pavel Borisov <pashkin.elfe@gmail.com>
wrote:

I suppose there are many ways to have PG on OSX i.e. package managers
(Homebrew, Macports), App installers etc and so many places anyone can find
his data directory reside in. Generally I prefer data directory to be
somewhere inside the user home dir as OSX will take care of possible
backups and will not generally modify its contents during migration betweeb
osx versions and/or different machines. It is not only the question of
permissions.

Any options inside user homedir are equally suitable IMO.

It is in the user's homedir - it's just that that isn't under /Users:

hal:~ postgres$ echo $HOME
/Library/PostgreSQL/13

With the EDB installers (unlike postgres.app), PostgreSQL runs as a
service, much as it would on Linux or BSD.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EDB: http://www.enterprisedb.com

#6Dave Page
dpage@pgadmin.org
In reply to: Dave Page (#1)
Re: Heads-up: macOS Big Sur upgrade breaks EDB PostgreSQL installations

FYI, both Jonathan and I have now tested this on additional machines and
have been unable to reproduce the issue, so it seems like something odd
happened on my original upgrade rather than a general issue.

Apologies for the noise.

On Mon, Nov 16, 2020 at 9:27 AM Dave Page <dpage@pgadmin.org> wrote:

Hi,

This is more of a head-ups than anything else, as I suspect this may come
up in various forums.

The PostgreSQL installers for macOS (from EDB, possibly others too) create
the data directory in /Library/PostgreSQL/<major_ver>/data. This has been
the case since the first release, 10+ years ago.

It looks like the Big Sur upgrade has taken it upon itself to "fix" any
filesystem permissions it doesn't like. On my system, this resulted in the
data directory having 0755 permissions, which meant that PostgreSQL refused
to start. Manually changing the permissions back to 0700 (0750 should also
work) fixes the issue.

I'm not sure there's much we can do about this - systems that are likely
to be affected are already out there, and we obviously don't want to relax
the permissions Postgres requires.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EDB: http://www.enterprisedb.com

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EDB: http://www.enterprisedb.com