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


   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ư:

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/

Xin cho tôi được biết, bạn cảm thấy bài viết này như thế nào? Ý kiến của bạn sẽ giúp tôi nâng cao chất lượng bài viết của mình.

    Hãy chia sẻ bài viết này nếu bạn thấy có ích nhé
    0 0 votes
    Article Rating
    Subscribe
    Notify of
    guest
    0 Comments
    Inline Feedbacks
    View all comments