pg_upgrade permission check

Started by Bruce Momjianalmost 15 years ago5 messageshackers
Jump to latest
#1Bruce Momjian
bruce@momjian.us

I have added the attached patch to pg_upgrade to print a clear error
message if you don't have read/write/execute permission in the current
directory, which is needed for pg_upgrade to read/write temporary files.

This is based on a bug report I received from EnterpriseDB usage
testing.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

Attachments:

/rtmp/pg_upgradetext/x-diffDownload+5-0
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#1)
Re: pg_upgrade permission check

Bruce Momjian <bruce@momjian.us> writes:

I have added the attached patch to pg_upgrade to print a clear error
message if you don't have read/write/execute permission in the current
directory, which is needed for pg_upgrade to read/write temporary files.

"full access permissions" seems unhelpfully vague. Why not say
"you must have both read and write access to the current directory"?

regards, tom lane

#3Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#2)
Re: pg_upgrade permission check

Tom Lane wrote:

Bruce Momjian <bruce@momjian.us> writes:

I have added the attached patch to pg_upgrade to print a clear error
message if you don't have read/write/execute permission in the current
directory, which is needed for pg_upgrade to read/write temporary files.

"full access permissions" seems unhelpfully vague. Why not say
"you must have both read and write access to the current directory"?

OK, I can do that, but they need execute permission in that directory
too to look up file names in there. Should I say execute too?

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#3)
Re: pg_upgrade permission check

Bruce Momjian <bruce@momjian.us> writes:

Tom Lane wrote:

"full access permissions" seems unhelpfully vague. Why not say
"you must have both read and write access to the current directory"?

OK, I can do that, but they need execute permission in that directory
too to look up file names in there. Should I say execute too?

I doubt it's worth worrying about. man chdir saith

In order for a directory to become the current directory, a process must
have execute (search) access to the directory.

I'm not entirely certain what happens if you chdir into a directory and
then someone revokes the bit afterwards, but I do not feel a need to
complicate the error message to cover such a case.

regards, tom lane

#5Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#4)
Re: pg_upgrade permission check

Tom Lane wrote:

Bruce Momjian <bruce@momjian.us> writes:

Tom Lane wrote:

"full access permissions" seems unhelpfully vague. Why not say
"you must have both read and write access to the current directory"?

OK, I can do that, but they need execute permission in that directory
too to look up file names in there. Should I say execute too?

I doubt it's worth worrying about. man chdir saith

In order for a directory to become the current directory, a process must
have execute (search) access to the directory.

I'm not entirely certain what happens if you chdir into a directory and
then someone revokes the bit afterwards, but I do not feel a need to
complicate the error message to cover such a case.

OK, fixed the the attached applied patch.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

Attachments:

/rtmp/pg_upgradetext/x-diffDownload+1-1