Khắc phục lỗi version mismatch pg_restore Postgresql

Khi bạn chạy lệnh thực thi pg_restore xuất hiện lỗi như bên dưới này:

-bash-4.2$ pg_restore -U postgres -n duongdb -f /pgbackup/backup_duongdb.sql

pg_restore: server version: 15.7; pg_restore version: 9.2.24

pg_restore: aborting because of server version mismatch

Nguyên nhân: đây là lỗi postgresql server và pg_restore không sử dụng cùng phiên bản, không tương thích với nhau nên không tiến hành thực hiện backup được.

Khắc phục: thực hiện symlink version

Kiểm tra đường dẫn cài đặt pg_dumpall:

find / -name pg_restore -type f 2>/dev/null

[root@localhost data]# find / -name pg_restore

/usr/bin/pg_restore

/usr/pgsql-15/bin/pg_restore

=> pg_restore hiện có 2 đường dẫn => có 2 version khác nhau cùng thực hiện, hệ thống không hiểu sử dụng version nào? => chúng ta cần chỉ ra cho postgresql biết được là sử dụng dump nào

Link 2 directory lại với nhau:

 sudo ln -s /usr/pgsql-15/bin/pg_restore /usr/bin/pg_restore --force

Tiến hành bachkup bình thường: (giả sử có DB là duongdb)

login vào user postgres và thực hiện lệnh sau: đường dẫn file: /pgbackup/backup_duongdb.sql, thư mục phải được tạo sẵn trước và user phải có quyền ghi.

su postgres

pg_restore -d duongdb /pgbackup/backup_duongdb.tar;

drwxr-xr-x. 2 postgres postgres 32 May 16 21:16 .

dr-xr-xr-x. 19 root root 4.0K May 13 14:47 ..

-rw-r–r–. 1 postgres postgres 137M May 16 21:16 backup_duongdb.sql

=> backup thành công không có lỗi.

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận