ossc-db / pg_rman

Backup and restore management tool for PostgreSQL
http://ossc-db.github.io/pg_rman/index.html
Other
476 stars 77 forks source link

mkdirs.sh contains incorrect path if $PGDATA and pg_wal are symbolic links #266

Open pgexplorer opened 7 months ago

pgexplorer commented 7 months ago

mkdirs.sh contains incorrect path if $PGDATA and pg_wal are symbolic links.

The situation is as follows. OS : Red Hat Enterprise Linux release 9.3 (Plow) Package : postgresql16-server Architecture : x86_64 Version : 16.2-1PGDG.rhel9 pg_rman : pg_rman-1.3.16-1.pg16.rhel9.x86_64.rpm

PGDATA=/var/lib/pgsql/16/data

$ ls -l $PGDATA lrwxrwxrwx. 1 postgres postgres 26 Mar 21 22:02 data -> /pgsql-data/dbcluster/data $ ls -l $PGDATA/pg_wal lrwxrwxrwx. 1 postgres postgres 31 Mar 25 00:05 pg_wal -> /pgsql-backup/online-wal/pg_wal

$ cat mkdirs.sh mkdir -m 700 -p /pgsql-backup/online-wal/pg_wal mkdir -m 700 -p /pgsql-backup/online-wal/pg_wal/archive_status mkdir -m 700 -p /pgsql-data/dbcluster/data mkdir -m 700 -p /pgsql-data/dbcluster/data/base mkdir -m 700 -p /pgsql-data/dbcluster/data/base/1 mkdir -m 700 -p /pgsql-data/dbcluster/data/base/16388 mkdir -m 700 -p /pgsql-data/dbcluster/data/base/4 mkdir -m 700 -p /pgsql-data/dbcluster/data/base/5 mkdir -m 700 -p /pgsql-data/dbcluster/data/base/pgsql_tmp mkdir -m 700 -p /pgsql-data/dbcluster/data/global mkdir -m 700 -p /pgsql-data/dbcluster/data/log mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_commit_ts mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_dynshmem mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_logical mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_logical/mappings mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_logical/snapshots mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_multixact mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_multixact/members mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_multixact/offsets mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_notify mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_replslot mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_serial mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_snapshots mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_stat mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_stat_tmp mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_subtrans mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_tblspc mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_twophase mkdir -m 700 -p /pgsql-data/dbcluster/data/pg_xact

rm -f ata/pg_wal ln -s /pgsql-backup/online-wal/pg_wal ata/pg_wal

====================================== [correct path] rm -f /var/lib/pgsql/16/data/pg_wal ln -s /pgsql-backup/online-wal/pg_wal /var/lib/pgsql/16/data/pg_wal

zwyan0 commented 7 months ago

@pgexplorer Hi, Thank you for your issue. pg_rman is not supput when $PGDATA is symbolic link. but wher pg_wal is symbolic link pg_rman can do backup and restore.