Sử dụng password file trong Postgres

   Giới thiệu

.pgpass hay còn gọi là password file, là một file lưu trữ thông tin kết nối trong PostgreSQL.
Thay vì nhập mật khẩu mỗi khi đăng nhập vào cơ sở dữ liệu của bạn bằng psql, bạn có thể lưu trữ chúng trong .pgpass. 
Cách làm này khá tiện trong 1 vài tình huống.

   Tình huống

Tình huống giả định như sau:
   Server Postgres A:
IP: 192.168.21.10
   Server Postgres B:
IP: 192.168.21.11
Bạn đang login vào user postgres của server A.
Khi bạn muốn kết nối vào database example trên server B, bạn thực hiện câu lệnh sau:
$ psql -h 192.168.21.11 -p 5432 -U duydx example
Password for user duydx:
psql (13.5)
Type "help" for help.

example=#

 

Mỗi lần thực hiện như vậy bạn cần phải nhập password cho user duydx thì mới đăng nhập được.

 

Sau đây, tôi sẽ hướng dẫn bạn sử dụng .pgpass để đăng nhập vào database mà không cần nhập password nữa.

 


   Sử dụng .pgpass

Bạn tạo file .pgpass trong thư mục HOME của mình:
vi /var/lib/pgsql/.pgpass

 

và nhập thông tin đăng nhập của bạn vào file .pgpass theo cấu trúc sau:

 

host:port:db_name:user_name:password

 

Ở trong tình huống cụ thể của tôi, tôi sẽ điền như sau:

 

192.168.21.11:5432:example:duydx:abcd1234

 

(Trong đó, abcd1234 là password của user duydx)

 

Sau đó, bạn cấp quyền để chỉ user của bạn đọc được file đó

Đọc thêm  Đo mức độ tăng trưởng của database

 

chmod 600 /var/lib/pgsql/.pgpass

 


 

   Kiểm thử

 

Bây giờ bạn có thể đăng nhập vào database example trên server B mà không cần nhập password nữa:

 

$ psql -h 192.168.21.11 -p 5432 -U duydx example
psql (13.5)
Type "help" for help.

example=#

 

   Ghi chú:

 

Nếu file .pgpass bạn đặt tại đường dẫn khác thư mục HOME của user, bạn cần chỉ định ra đường dẫn đó trong biến môi trường PGPASSFILE

 

VD:

export PGPASSFILE='/home/postgres/ident/.pgpass'

 

Hẹn gặp lại các bạn ở các bài viết tiếp theo.

 

Nguồn: https://dangxuanduy.com/

 

Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.

 

    KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN  Xem ngay!

 

   Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.

 

 

Đặng Xuân Duy

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *