Thread: BUG #13859: pg_upgrade permissions on Windows

BUG #13859: pg_upgrade permissions on Windows

From
igal@lucee.org
Date:
The following bug has been logged on the website:

Bug reference:      13859
Logged by:          Igal Sapir
Email address:      igal@lucee.org
PostgreSQL version: 9.5.0
Operating system:   Windows 2008R2
Description:

I'm not sure if this is a known issue or not, but in order to run pg_upgrade
on Windows to upgrade from pgsql-9.4 to pgsql-9.5 I had to:

1) Give Write permissions to Everyone for the working directory, old-data
directory, and new-data directory.

* please note that I was running pg_upgrade as Administrator but still had
to add those permissions

2) Set method to trust in pg_hba.conf for both the old database and the new
database.

If those are the requirements then it should be documented better in my
opinion, though it might be better to make it less restrictive if possible.

Re: BUG #13859: pg_upgrade permissions on Windows

From
Bruce Momjian
Date:
On Sun, Jan 10, 2016 at 06:23:01PM +0000, igal@lucee.org wrote:
> The following bug has been logged on the website:
>
> Bug reference:      13859
> Logged by:          Igal Sapir
> Email address:      igal@lucee.org
> PostgreSQL version: 9.5.0
> Operating system:   Windows 2008R2
> Description:
>
> I'm not sure if this is a known issue or not, but in order to run pg_upgrade
> on Windows to upgrade from pgsql-9.4 to pgsql-9.5 I had to:
>
> 1) Give Write permissions to Everyone for the working directory, old-data
> directory, and new-data directory.
>
> * please note that I was running pg_upgrade as Administrator but still had
> to add those permissions

That is odd.  We document:

     For Windows users, you must be logged into an administrative account, and
     then start a shell as the <literal>postgres</> user and set the proper path:

I have not heard anyone else have this issue.

> 2) Set method to trust in pg_hba.conf for both the old database and the new
> database.
>

The documentation suggests pg_pass, though "trust" works too:

   <step>
    <title>Adjust authentication</title>

    <para>
     <command>pg_upgrade</> will connect to the old and new servers several
     times, so you might want to set authentication to <literal>peer</>
     in <filename>pg_hba.conf</> or use a <filename>~/.pgpass</> file
     (see <xref linkend="libpq-pgpass">).
    </para>
   </step>

> If those are the requirements then it should be documented better in my
> opinion, though it might be better to make it less restrictive if possible.

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

+ As you are, so once was I. As I am, so you will be. +
+ Roman grave inscription                             +

Re: BUG #13859: pg_upgrade permissions on Windows

From
"Igal @ Lucee.org"
Date:
Bruce,

On 1/18/2016 9:41 AM, Bruce Momjian wrote:
> On Sun, Jan 10, 2016 at 06:23:01PM +0000, igal@lucee.org wrote:
>> The following bug has been logged on the website:
>>
>> Bug reference:      13859
>> Logged by:          Igal Sapir
>> Email address:      igal@lucee.org
>> PostgreSQL version: 9.5.0
>> Operating system:   Windows 2008R2
>> Description:
>>
>> I'm not sure if this is a known issue or not, but in order to run pg_upgrade
>> on Windows to upgrade from pgsql-9.4 to pgsql-9.5 I had to:
>>
>> 1) Give Write permissions to Everyone for the working directory, old-data
>> directory, and new-data directory.
>>
>> * please note that I was running pg_upgrade as Administrator but still had
>> to add those permissions
> That is odd.  We document:
>
>       For Windows users, you must be logged into an administrative account, and
>       then start a shell as the <literal>postgres</> user and set the proper path:
>
> I have not heard anyone else have this issue.
Thank you for replying.  I have documented the issue at
http://stackoverflow.com/questions/34664236/pg-upgrade-on-windows-cannot-write-to-log-file-pg-upgrade-internal-log
at the time that I was experiencing it.

Please note that I, like most Windows users who did not use the
EnterpriseDB installer, do not have a "postgres" user account on my
system.  I use the "NT AUTHORITY\LocalService" or "NT
AUTHORITY\NetworkService" to run PostgreSQL.

>> 2) Set method to trust in pg_hba.conf for both the old database and the new
>> database.
>>
> The documentation suggests pg_pass, though "trust" works too:
>
>     <step>
>      <title>Adjust authentication</title>
>
>      <para>
>       <command>pg_upgrade</> will connect to the old and new servers several
>       times, so you might want to set authentication to <literal>peer</>
>       in <filename>pg_hba.conf</> or use a <filename>~/.pgpass</> file
>       (see <xref linkend="libpq-pgpass">).
>      </para>
>     </step>
Perhaps having a "postgres" account on my system would have resolved
this issue as well.

Thanks again,


Igal