This indicates that someone has created a directory called "backup" inside your data directory (/var/lib/pgsql/9.4/data), without postgres having permissions on it.
My guess is at some point you accidentally ran pg_basebackup telling it to store the backup in that directory, and ran it as user root, which created a directory there.
There should be no directory named "backup" inside the data directory, so once you've verified it's not something else that ended up there by mistake, you should just remove it. Basically you should *never* create any files or directories manually inside the data directory.
//Magnus
--
On Sat, Oct 24, 2015 at 6:57 AM, Ankur Kaushik <ankurkaushik@xxxxxxxxx> wrote:
I was looking the actual cause of this error as already given the permission to /tmp/backuppermission to /tmp/backupdrwx------ 4 postgres postgres 4.0K Oct 24 10:10 backupstill giving errorAs given below error==================pg_basebackup -P -v -D /tmp/backup/new1 -x -Ft -z -U base_backup_user -h 127.0.0.1Password:transaction log start point: 0/DF000060 on timeline 1pg_basebackup: could not get backup header: ERROR: could not open directory "./backup": Permission denied===============In the next step I found one more backup directory in location "/var/lib/pgsql/9.4/data" check its permissiondrwx------ 2 root root 4.0K Oct 24 05:01 backupchanged the permission as in location /va/lib/pgsql/9.4/datachown -R postgres:postgres backup/pg_basebackup works fineIts strange to me I am taking backup in location "/tmp/backup/new1" but I have to check the permission of "/var/lib/pgsql/9.4/data/backup"I am mysql guy and new to postgresql may be missed some basics of postgresqlOn Sat, Oct 24, 2015 at 8:34 AM, John Scalia <jayknowsunix@xxxxxxxxx> wrote:Ankur,
This should be really easy to solve:
1) Who owns this backup directory
2) what is the mode of that directory, i.e., 555, 755, or what?
You could simply try "chmod 777 ./backup" and then reattempt your pg_basebackup command.
--
Jay
On 10/23/2015 8:56 PM, Ankur Kaushik wrote:
>
> User created as CREATE ROLE base_backup_user REPLICATION LOGIN PASSWORD 'backupuser';
>
>
> -bash-4.1$ pg_basebackup -h 127.0.0.1 -U base_backup_user -D "./pgbackup" -Ft -z -P
> pg_basebackup: could not get backup header: ERROR: could not open directory "./backup": Permission denied
>
>
> Getting Below error while using pg_basebackup