- Định vị tệp cấu hình
- Định vị Đường dẫn Thư mục Dữ liệu
- Định cấu hình PostgreSQL để tạo đầu ra nhật ký
- Khởi động lại Dịch vụ PostgreSQL
- Xác minh Tạo nhật ký
Việc kích hoạt đăng nhập trong PostgreSQL được thực hiện khá dễ dàng bằng cách thay đổi một số cài đặt cấu hình và sau đó khởi động lại máy chủ. Mặc dù các cài đặt này có thể được thay đổi "trong bộ nhớ", do đó chỉ cho phép ghi nhật ký tạm thời cho phiên khách cụ thể đó, nhưng trong hướng dẫn này, chúng tôi sẽ trình bày cách định cấu hình postgres để tạo vĩnh viễn tệp nhật ký lặp lại cho tất cả các phiên và kết nối.
Định vị tệp cấu hình
Nếu bạn không chắc postgresql.conf
ở đâu tệp cấu hình được đặt, phương pháp đơn giản nhất để tìm vị trí là kết nối với ứng dụng khách postgres (psql
) và phát hành SHOW config_file;
lệnh:
postgres=# SHOW config_file;
config_file
------------------------------------------
/etc/postgresql/9.3/main/postgresql.conf
Trong trường hợp này, chúng ta có thể thấy đường dẫn đến postgresql.conf
tệp cho máy chủ này là /etc/postgresql/9.3/main/postgresql.conf
. Bây giờ chỉ cần mở tệp đó bằng trình soạn thảo văn bản yêu thích của bạn và chúng tôi có thể bắt đầu thay đổi cài đặt:
$ nano /etc/postgresql/9.3/main/postgresql.conf
Định vị Đường dẫn Thư mục Dữ liệu
Bạn cũng nên xác nhận đường dẫn của data
thư mục để cài đặt postgres của bạn. Điều này sẽ hữu ích sau này và việc truy xuất đường dẫn là một vấn đề của một SHOW
đơn giản khác tuyên bố:
postgres=# SHOW data_directory;
data_directory
------------------------------
/var/lib/postgresql/9.3/main
Trên một số cài đặt, tệp cấu hình và data
thư mục sẽ nằm dọc theo cùng một đường dẫn, trong khi ở các thư mục khác (như ví dụ này), chúng khác nhau. Dù bằng cách nào, hãy sao chép data
này xuống đường dẫn thư mục để sử dụng sau này.
Định cấu hình PostgreSQL để tạo đầu ra nhật ký
Với postgresql.conf
mở tệp, cuộn xuống ERROR REPORTING AND LOGGING
và bạn có thể sẽ thấy một số tùy chọn cấu hình được nhận xét. Điều quan trọng nhất trong số các cài đặt này là log_destination
và logging_collector
. Dưới đây là các cài đặt được đề xuất, mặc dù vậy, vui lòng thay đổi các cài đặt này cho phù hợp với nhu cầu của riêng bạn:
#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------
# - Where to Log -
log_destination = 'csvlog' # Valid values are combinations of
# stderr, csvlog, syslog, and eventlog,
# depending on platform. csvlog
# requires logging_collector to be on.
# This is used when logging to stderr:
logging_collector = on # Enable capturing of stderr and csvlog
# into log files. Required to be on for
# csvlogs.
# (change requires restart)
# These are only used if logging_collector is on:
log_directory = 'pg_log' # directory where log files are written,
# can be absolute or relative to PGDATA
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
# can include strftime() escapes
Ở đây, chúng tôi đang yêu cầu các bưu tá tạo nhật ký trong CSV
định dạng và xuất chúng ra pg_log
thư mục (trong data
danh mục). Chúng tôi cũng đã bỏ ghi chú log_filename
cài đặt để tạo ra một số tên riêng bao gồm dấu thời gian cho các tệp nhật ký.
Bạn có thể tìm thấy thông tin chi tiết về tất cả các cài đặt này trong official documentation
.
Khởi động lại Dịch vụ PostgreSQL
Bước cuối cùng là khởi động lại dịch vụ PostgreSQL để các cài đặt này, cụ thể là logging_collector
, Sẽ có hiệu lực. Việc thực hiện khởi động lại postgres sẽ khác nhau giữa các hệ thống, nhưng thông thường đối với hệ thống unix, lệnh sẽ giống như sau:
$ service postgresql restart
* Restarting PostgreSQL 9.3 database server [ OK ]
Xác minh Tạo Nhật ký
Sau khi hệ thống được khởi động lại, việc ghi nhật ký sẽ bắt đầu ngay lập tức. Để đảm bảo đúng như vậy, hãy điều hướng đến data/pg_log
thư mục cài đặt postgres của bạn. Hãy nhớ rằng chúng tôi đã lấy data
đường dẫn thư mục trước đó, vì vậy chỉ cần điều hướng đến thư mục đó bằng cách thêm /pg_log
cuối cùng để vào thư mục nhật ký:
$ cd /var/lib/postgresql/9.3/main/pg_log
Bây giờ hãy liệt kê các tệp và bạn sẽ thấy một tệp nhật ký đã được tạo sau khi khởi động lại dịch vụ trước đó:
$ ls -l
-rw------- 1 postgres postgres 935 Apr 13 20:30 postgresql-2016-04-13_203022.csv
Chúng tôi có nó; các tệp nhật ký được tạo tự động được bật với PostgreSQL bằng cách chỉ thay đổi một vài cài đặt cấu hình.