Re: pg_rewind: ERROR: could not fetch remote file "global/pg_control": ERROR: permission denied

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Zhaoxun Yan <yan(dot)zhaoxun(at)gmail(dot)com>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: pg_rewind: ERROR: could not fetch remote file "global/pg_control": ERROR: permission denied
Date: 2023-09-29 06:50:42
Message-ID: ZRZzwrMJxugIK4Cf@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wed, Sep 27, 2023 at 05:27:44PM +0800, Zhaoxun Yan wrote:
> $ /usr/pgsql-16/bin/pg_rewind -D '/pgdata' --source-server='host=172.17.1.2
> port=5432 user=rep dbname=repmgr connect_timeout=5'
> pg_rewind: error: could not fetch remote file "global/pg_control": ERROR:
> permission denied for function pg_read_binary_fileOriginally the server
> here at 172.17.0.2 was the primary and 172.17.1.2 was the standby
> replication server. I have created the user 'rep' with full replication
> privilege as described on page:
> https://www.postgresql.org/docs/16/app-pgrewind.html
>
> CREATE EXTENSION repmgr;
> GRANT pg_checkpoint TO rep;
> GRANT pg_read_all_stats TO rep;
> GRANT EXECUTE ON function pg_catalog.pg_ls_dir(text, boolean, boolean) TO rep;
> GRANT EXECUTE ON function pg_catalog.pg_stat_file(text, boolean) TO rep;
> GRANT EXECUTE ON function pg_catalog.pg_read_binary_file(text) TO rep;
> GRANT EXECUTE ON function pg_catalog.pg_read_binary_file(text, bigint,
> bigint, boolean

This set of permissions should be enough, so you got the idea from the
documentation the right way. One guess: are you sure that these GRANT
queries have been run on the same database as the one queried by
pg_rewind when getting the files from an online source for the target
cluster to rewind?
--
Michael

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message David Rowley 2023-09-29 07:52:23 Re: Broken type checking for empty subqueries
Previous Message Kyle MacMillan 2023-09-28 23:32:49 Re: md5 password valid and invalid after upgrading