Sử dụng system catalog trong PostgreSQL

   Giới thiệu

Bạn muốn biết các thông tin về Database Cluster mà bạn vừa được phân công quản trị? Ví dụ như: Có bao nhiêu bảng, kích thước mỗi bảng ra sao, có bao nhiêu user, bao nhiêu tablespace,…

Trong PostgreSQL, có một nơi có đủ các thông tin mà bạn cần. Đó là System Catalog

Đọc thêm  Cài đặt PgAdmin để quản lý PostgreSQL
Đọc thêm  Quản lý database trong PostgreSQL

 

   System Catalog là gì

System Catalog là nơi mà hệ quản trị CSDL PostgreSQL lưu trữ dữ liệu cấu trúc (metadata) của database schema, chẳng hạn như thông tin về các table và cột, user, tablespace, …

System Catalog của PostgreSQL chỉ là các table thông thường. Do đó, bạn hoàn toàn có thể thay đổi nó, nếu muốn. Tuy nhiên, bạn không nên làm như vậy, nếu không muốn database của bạn bị rối tung lên.

System Catalog có tiền tố pg_*, tiếp theo là đối tượng liên quan mà System Catalog chứa thông tin.

Ví dụ như sau: Bạn muốn xem thông tin về các database hiện có trong PostgreSQL Database cluster, bạn có thể tìm trong System Catalog pg_database;

postgres=# \d pg_database;
               Table "pg_catalog.pg_database"
    Column     |   Type    | Collation | Nullable | Default 
---------------+-----------+-----------+----------+---------
 oid           | oid       |           | not null | 
 datname       | name      |           | not null | 
 datdba        | oid       |           | not null | 
 encoding      | integer   |           | not null | 
 datcollate    | name      |           | not null | 
 datctype      | name      |           | not null | 
 datistemplate | boolean   |           | not null | 
 datallowconn  | boolean   |           | not null | 
 datconnlimit  | integer   |           | not null | 
 datlastsysoid | oid       |           | not null | 
 datfrozenxid  | xid       |           | not null | 
 datminmxid    | xid       |           | not null | 
 dattablespace | oid       |           | not null | 
 datacl        | aclitem[] |           |          | 
Indexes:
    "pg_database_datname_index" UNIQUE, btree (datname), tablespace "pg_global"
    "pg_database_oid_index" UNIQUE, btree (oid), tablespace "pg_global"
Tablespace: "pg_global"

postgres=# 
postgres=# 
postgres=# 
postgres=# select oid, datname from pg_database;
  oid  |    datname     
-------+----------------
     1 | template1
 14173 | template0
 28409 | test
 14174 | postgres
(4 rows)

Nguyên tắc gợi nhớ chung là vậy. Thông thường, có 1 số System Catalog chúng ta sẽ sử dụng thường xuyên, cần phải ghi nhớ. Ví dụ như:

System Catalog Ý nghĩa
pg_database Chứa các thông tin về database
pg_namespace Chứa các thông tin về schema
pg_class Chứa các thông tin về table, index, view
pg_tablespace Chứa các thông tin về tablespace

Bạn có thể tham khảo tài liệu đầy đủ của chính PostgreSQL để biết thêm chi tiết:

https://www.postgresql.org/docs/current/catalogs-overview.html

 

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é.

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận