📚 Phân biệt chi tiết các lệnh bảo trì trong PostgreSQL
Dưới đây là sự phân biệt chi tiết về cơ chế, mục đích, tác động và cách sử dụng của 6 lệnh bảo trì quan trọng trong PostgreSQL.
Dưới đây là sự phân biệt chi tiết về cơ chế, mục đích, tác động và cách sử dụng của 6 lệnh bảo trì quan trọng trong PostgreSQL.
Hướng dẫn phân biệt rõ ràng: WAL Log và WAL Archive trong PostgreSQL
Việc dọn dẹp wal_archive là nhiệm vụ bắt buộc của một DBA để tránh đầy ổ cứng /u01. Tuy nhiên, việc xóa "mù quáng" dựa trên số ngày có thể gây nguy hiểm nếu bản Backup Full gần nhất của bạn bị hỏng hoặc chưa chạy xong.
Phân biệt WAL log và WAL archive đơn giản nhất như này:
Xử lý đầy ổ 98% vùng / chưa pgdata trong PostgreSQL
Mục đích: Phân vùng chính /pgdata đang chiếm 99, 100%, nguy cơ hết ổ, gây lỗi datafile/database, cần chuyển bớt dữ liệu để tăng frê cho /pgdata về < 80%
Tôi đang gom nhanh các lệnh quản trị PostgreSQL theo nhóm thực tế: service, kết nối, DB/user, backup/restore, giám sát và replication. Sau đó tôi sẽ chắt lại thành một “cheat sheet” dễ dùng hằng ngày. Dưới đây là nhóm câu lệnh PostgreSQL hay dùng cho quản trị, mình gom theo tình huống vận hành thực tế.
Script chuyên nghiệp để tự động kiểm tra trạng thái và kích hoạt lại Database nếu nó bị sập.
Script này rất phù hợp để đặt vào Cronjob chạy định kỳ mỗi 5 phút.
Trong PostgreSQL, schema là một khái niệm quan trọng để tổ chức và quản lý các đối tượng cơ sở dữ liệu. Schema cung cấp một cách để phân chia và sắp xếp các đối tượng cơ sở dữ liệu như bảng (tables), chỉ mục (indexes), view, hàm (functions), và trình kích hoạt (triggers) thành các nhóm logic. Điều này giúp dễ dàng quản lý và kiểm soát quyền truy cập hơn.
Trong PostgreSQL, “roles” (vai trò) được sử dụng để quản lý quyền truy cập và phân quyền. Một roles có thể đại diện cho một người dùng hoặc một nhóm người dùng. Các roles có thể có quyền truy cập và thực hiện các tác vụ khác nhau trên cơ sở dữ liệu.
Lệnh GRANT trong PostgreSQL được sử dụng để cấp quyền cho người dùng hoặc roles để thực hiện các hoạt động cụ thể trên các đối tượng cơ sở dữ liệu như bảng, cột, view, schema, và các đối tượng khác. Dưới đây là chi tiết về cách sử dụng lệnh GRANT.
Trong bài này, chúng ta sẽ làm quen với các lệnh thường sử dụng để quản trị PostgreSQL.
Trong PostgreSQL, một superuser (siêu người dùng) là một vai trò đặc biệt có tất cả các quyền trên cơ sở dữ liệu. Superuser có thể thực hiện mọi hành động trong hệ thống cơ sở dữ liệu mà không bị hạn chế bởi các kiểm tra quyền hạn. Điều này bao gồm, nhưng không giới hạn, việc tạo, sửa đổi, và xóa bất kỳ đối tượng cơ sở dữ liệu nào, cũng như quản lý người dùng và các vai trò khác.
PostgreSQL cũng như một số RDBMS khác. Khi bạn chạy một câu lệnh cập nhật dữ liệu (UPDATE/INSERT/DELETE), dữ liệu vật lý trên đĩa cứng chưa thay đổi mà chỉ thay đổi trên bộ đệm (bộ nhớ dùng chung: PostgreSQL = shared_buffers). Khi bạn tham chiếu dữ liệu (SELECT), trước hết PostgreSQL xem dữ liệu tồn tại trên bộ đệm không, nếu tồn tại dữ liệu sẽ trả về người dùng. Nếu dữ liệu không tồn tại trên bộ đệm, PostgreSQL sẽ truy cập xuống vùng vật lý (ổ đĩa cứng) để lấy dữ liệu, sau đó trước khi trả về cho người dùng dữ liệu đó sẽ được đưa lên bộ đệm.
Cơ chế nêu trên làm tăng tốc độ xử lý nhờ vào việc giảm thiểu I/O trên đĩa cứng.