[Note] Lệnh backup PostgreSQL Database with password

Trước giờ mình hay dùng lệnh sau để backup PostgreSQL

pg_dump -p 5433 -U username “databasename” > “backup.sql”

Với cách này mình cũng đã làm một cái tool nho nhỏ ở đây

https://dothanhlong.org/postgresql_tool/

Nhập thông số và download file batch về chạy thôi

Lưu ý file batch này chỉ chạy trên linux, không ssh trên linux được nhé. Muốn chạy phải sửa lệnh lại :v

Nhưng hạn chế của lệnh này là khi chạy thì nó bắt nhập pass như hình dưới

Do vậy không chơi chạy tự động được (rất cần khi muốn backup tự động Database)

Để giải quyết thì mình đã thử dùng cách sau:

Lúc đăng nhập PgAdmin chọn nhớ pass.

Cách này mình không thích nhưng giải quyết được vấn đềtrên Window, còn trên linux thì… bó tay

Cách khác là tạo file .pgpass như thảo luận sau:

https://stackoverflow.com/questions/2893954/how-to-pass-in-password-to-pg-dump
https://stackoverflow.com/questions/2893954/how-to-pass-in-password-to-pg-dump

Cách này mình chưa thử, nhưng việc tạo file lưu trên ổ đĩa vậy sẽ tồn tại vấn đề bảo mật. Không thích luôn! :v

Tìm một hồi thì có cách chạy shell mà khai báo được luôn connection với postgresql như sau:

pg_dump postgresql://username:password@127.0.0.1:5432/mydatabase

Test thử thì… Ok

Cách này hay đấy. Note lại vậy thôi =))

P/s: Để rảnh sẽ làm thêm cái tool này :v

-soqiaulang_chentreu-