Thay Đổi Cấu Hình PostgreSQL Trong ServBay
ServBay là một môi trường phát triển web mạnh mẽ dành cho lập trình viên macOS, tích hợp sẵn cơ sở dữ liệu PostgreSQL. Bài viết này sẽ hướng dẫn chi tiết cách thay đổi các thiết lập cấu hình của PostgreSQL trong ServBay, bao gồm cả phương pháp sử dụng giao diện đồ họa UI (khuyến nghị) và chỉnh sửa thủ công file cấu hình (chỉ nên dùng tạm thời).
Tùy vào phiên bản PostgreSQL bạn cài đặt trong ServBay, các file cấu hình chính thường nằm tại thư mục /Applications/ServBay/etc/postgresql/<version>
. Ví dụ, cấu hình của PostgreSQL 16 sẽ là /Applications/ServBay/etc/postgresql/16
.
Lưu ý quan trọng
ServBay quản lý hầu hết các thiết lập cấu hình qua giao diện người dùng (UI) và sẽ tự động sinh file cấu hình tương ứng. Bạn nên sử dụng UI của ServBay để thay đổi cấu hình. Việc chỉnh sửa trực tiếp file cấu hình có thể khiến các thay đổi của bạn bị ghi đè khi ServBay cập nhật hoặc quản lý lại cấu hình. Thao tác thủ công này chỉ nên dùng tạm thời hoặc khi bạn đã hiểu sâu về cơ chế và không được khuyến nghị cho cấu hình dài hạn hoặc môi trường production.
Thay Đổi Cấu Hình Qua Giao Diện UI Của ServBay (Khuyến Nghị)
ServBay cung cấp giao diện quản lý trực quan, là phương thức thuận tiện và được khuyến nghị nhất để chỉnh sửa cấu hình PostgreSQL. Các thay đổi thông qua UI sẽ được áp dụng tự động và thường có hiệu lực ngay lập tức mà không cần khởi động lại dịch vụ (trừ khi ServBay có thông báo yêu cầu).
Các Bước Thực Hiện
- Mở ứng dụng ServBay.
- Trong thanh điều hướng bên trái, chọn
Cơ sở dữ liệu
. - Ở danh sách cơ sở dữ liệu, tìm
PostgreSQL
, sau đó nhấn vào phiên bản bạn muốn cấu hình. - Sau khi vào màn hình cấu hình PostgreSQL, bạn sẽ thấy thông tin chi tiết và các lựa chọn cấu hình cho phiên bản này.
Các Tham Số Có Thể Chỉnh Sửa
Tại giao diện này, bạn sẽ thấy tên tài khoản và mật khẩu PostgreSQL mặc định do ServBay tạo (thường hiển thị ở trang này). Đồng thời, bạn có thể chỉnh sửa nhanh một số thông số phổ biến như:
- Địa chỉ lắng nghe (
listen_addresses
): Quy định giao diện mạng mà PostgreSQL sẽ lắng nghe kết nối. Mặc định là*
, nghĩa là tất cả giao diện. - Cổng kết nối (
port
): Cổng mạng mà PostgreSQL sử dụng. Mặc định là5432
(lưu ý khác với cổng 3306 của MySQL/MariaDB). - Số kết nối tối đa (
max_connections
): Số lượng client tối đa có thể kết nối cùng lúc vào cơ sở dữ liệu. - Bộ nhớ làm việc (
work_mem
): Dung lượng bộ nhớ mỗi tiến trình truy vấn được sử dụng cho các thao tác sắp xếp, bảng băm.
Ngoài ra, bạn còn có thể thêm hoặc chỉnh sửa các tham số khác của postgresql.conf
chưa có sẵn ở UI tại mục Additional Parameters
. Nhập các tham số dạng tên_tham_số = giá_trị
trên mỗi dòng.
Áp Dụng Thay Đổi
Sau khi chỉnh sửa xong, nhấn nút Lưu
ở cuối màn hình. ServBay sẽ tự động áp dụng các thay đổi. Đa số trường hợp, các thông số sẽ có hiệu lực tức thời. Trong một số trường hợp hiếm, hệ thống sẽ yêu cầu bạn khởi động lại dịch vụ PostgreSQL và ServBay sẽ hiển thị thông báo tương ứng.
Thay Đổi Cấu Hình Bằng Cách Chỉnh Sửa File Thủ Công (Không Khuyến Nghị Cho Cấu Hình Dài Hạn)
Như đã đề cập, việc tự sửa file cấu hình không được khuyến nghị vì các thiết lập UI của ServBay có thể ghi đè các chỉnh sửa thủ công. Tuy vậy, biết vị trí và nội dung file cấu hình giúp bạn hiểu rõ hơn về cách PostgreSQL hoạt động.
WARNING
Việc chỉnh sửa file cấu hình thủ công chỉ phù hợp để thử nghiệm ngắn hạn hoặc khi cần xử lý sự cố nâng cao. ServBay khuyến nghị mạnh mẽ sử dụng giao diện UI để duy trì độ ổn định và đồng nhất cho cấu hình. Đường dẫn, nội dung file chỉnh sửa thủ công có thể bị ghi đè bởi hệ thống quản lý nội bộ của ServBay.
Vị Trí File Cấu Hình
Hai file cấu hình chính của PostgreSQL trong ServBay là postgresql.conf
và pg_hba.conf
. Tùy bản, path phổ biến như sau:
postgresql.conf
:/Applications/ServBay/etc/postgresql/<version>/postgresql.conf
pg_hba.conf
:/Applications/ServBay/etc/postgresql/<version>/pg_hba.conf
Lưu ý, trong một số tài liệu cũ có thể thấy path /db/postgresql/16/pg_hba.conf
– đây là xử lý nội bộ hoặc path cũ. Hiện ServBay quản lý file tại /Applications/ServBay/etc
. Khi sửa thủ công, hãy xác minh đường dẫn chính xác. Để đồng bộ với UI, thư mục /Applications/ServBay/etc/postgresql/<version>
thường là nơi lưu cấu hình tin cậy nhất.
Ví Dụ Một Số Tham Số Cấu Hình Phổ Biến
Dưới đây là các ví dụ về các mục thiết lập thường gặp trong file postgresql.conf
và pg_hba.conf
. Hãy dùng các trình soạn thảo như VS Code, Sublime Text, Nano với quyền admin/root để chỉnh sửa.
postgresql.conf
postgresql.conf
là file cấu hình chính, kiểm soát hầu hết hành vi của server PostgreSQL.
yaml
# Địa chỉ lắng nghe: Server lắng nghe kết nối từ giao diện mạng nào. '*' là cho tất cả.
listen_addresses = '*'
# Cổng: Port mà PostgreSQL sẽ sử dụng để nhận kết nối. Mặc định là 5432.
port = 5432
# Số kết nối tối đa: Tối đa số client có thể kết nối tới database cùng thời điểm.
max_connections = 100
# Bộ nhớ đệm dùng chung: Dung lượng dùng để cache dữ liệu database trong RAM.
shared_buffers = 128MB
# Thư mục log: Nơi lưu file log hệ thống.
log_directory = 'log'
# Định dạng tên file log: Quy định định dạng tên các file log.
log_filename = 'postgresql-%Y-%m-%d.log'
# Ghi log truy vấn chậm: Ghi lại truy vấn mất trên một khoảng thời gian nhất định (ms).
# Đặt số nguyên dương, ví dụ 2000 nghĩa là log truy vấn >2 giây.
# Đặt -1 sẽ tắt log truy vấn chậm.
log_min_duration_statement = 2000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
pg_hba.conf
File pg_hba.conf
(Host-Based Authentication) dùng để thiết lập phương thức xác thực và kiểm soát quyền truy cập đến PostgreSQL.
sql
# TYPE DATABASE USER ADDRESS METHOD
# Cho phép kết nối local qua Unix socket, dùng phương thức trust (không cần mật khẩu).
# "local" là chỉ dùng cho kết nối Unix domain socket
local all all trust
# Cho phép tất cả địa chỉ IPv4 truy cập từ xa qua TCP/IP, dùng xác thực md5 (có mật khẩu).
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# Cho phép subnet IPv4 cụ thể (vd: 192.168.1.0/24) truy cập từ xa qua TCP/IP, xác thực md5.
# IPv4 local connections from a specific subnet:
# host all all 192.168.1.0/24 md5
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
Khi chỉnh sửa pg_hba.conf
, cần hiểu ý nghĩa từng cột (TYPE
, DATABASE
, USER
, ADDRESS
, METHOD
), cấu hình sai có thể ngăn chặn kết nối hoặc gây rủi ro bảo mật.
Áp Dụng Thay Đổi File Cấu Hình Thủ Công
Khi bạn chỉnh sửa file cấu hình bằng tay, cần khởi động lại dịch vụ PostgreSQL thì thay đổi mới có hiệu lực.
Khởi Động Lại Qua UI ServBay
- Mở giao diện quản lý của ServBay.
- Trong thanh điều hướng trái, chọn
Cơ sở dữ liệu
. - Tìm
PostgreSQL
, chọn phiên bản cần khởi động lại. - Tại màn hình này hoặc bảng "phần mềm"/"dịch vụ" chính, tìm PostgreSQL tương ứng và nhấn nút
Khởi động lại
.
Khởi Động Lại Bằng Lệnh servbayctl
Bạn có thể dùng công cụ dòng lệnh servbayctl
của ServBay để quản lý dịch vụ, bao gồm khởi động lại PostgreSQL:
bash
servbayctl restart postgresql <version>
1
Thay <version>
bằng số phiên bản PostgreSQL thực tế bạn đang sử dụng, ví dụ: 16
.
Tổng Kết
ServBay mang lại giao diện UI tiện lợi để chỉnh sửa cấu hình PostgreSQL – đây là phương án khuyến nghị và tránh các rủi ro bị ghi đè cấu hình khi tự sửa file. Bạn có thể chỉnh sửa những thiết lập thường gặp như địa chỉ lắng nghe, cổng, số lượng kết nối, xem thông tin đăng nhập mặc định... trực tiếp trên UI. Nếu cần chỉnh sửa thủ công (cho thử nghiệm tức thời), file cấu hình PostgreSQL nằm ở /Applications/ServBay/etc/postgresql/<version>
. Dù chỉnh sửa bằng phương pháp nào, thông thường bạn cần khởi động lại dịch vụ PostgreSQL để cập nhật thay đổi; thao tác này có thể thực hiện ngay trên UI của ServBay hoặc qua lệnh servbayctl
.
Hiểu rõ về các thông số cấu hình này cũng như hai cách chỉnh sửa sẽ giúp bạn dễ dàng tối ưu môi trường PostgreSQL trên ServBay cho nhu cầu phát triển của mình.