Xem thông tin bảng trong Postgres

Khi ai đó đưa cho bạn một bảng, bảo bạn hãy lấy dữ liệu từ nó đi. Đầu tiên, có thể bạn sẽ cần biết trong bảng đó có những cột gì?

Sau đó, đi xa hơn, bạn có thể muốn biết là các kiểu dữ liệu của các cột trong bảng đó thế nào, hay bảng đó có phải bảng partition hay không, rồi là có bao nhiêu partition,…

Bây giờ tôi sẽ hướng dẫn các bạn 1 cách rất đơn giản và thuận tiện để bạn xem cấu trúc một bảng trong PostgreSQL

Ví dụ, tôi có một bảng tên là khach_hang và tôi muốn các thông tin về nó


   Xem thông tin chung

postgres=# \dt khach_hang 
                  List of relations
  Schema  |    Name    |       Type        |  Owner   
----------+------------+-------------------+----------
 postgres | khach_hang | partitioned table | postgres

Câu lệnh \dt ở đây cho phép chúng ta xem cấu trúc của bảng ngay sau mệnh đề đó. Các bạn có thể ghi nhớ \dt tức là describe table (hay dịch ra là mô tả bảng).

Ở kết quả chúng ta nhìn thấy 1 số thông tin về bảng này như:

   Bảng này thuộc schema postgres.

   Bảng này là bảng partition

Ngoài ra chúng ta cũng có thể hiển thị thêm nội dung bằng cách sau:

postgres=# \dt+ khach_hang 
                                     List of relations
  Schema  |    Name    |       Type        |  Owner   | Persistence |  Size   | Description 
----------+------------+-------------------+----------+-------------+---------+-------------
 postgres | khach_hang | partitioned table | postgres | permanent   | 0 bytes | 
(1 row)

Như vậy chỉ cần thêm dấu “+” vào là  thông tin đã chi tiết hơn rồi. Bạn có thể thấy được kích thước hiện tại của bảng là bao nhiêu ở đây luôn.

Đọc thêm  Cấu hình Streaming Replication trong PostgreSQL 13

   Xem cấu trúc của bảng

Tiếp theo tôi sẽ hướng dẫn bạn xem cấu trúc một bảng. Cũng rất đơn giản, bạn làm như sau:

postgres=# \d khach_hang 
            Partitioned table "postgres.khach_hang"
       Column       |  Type   | Collation | Nullable | Default 
--------------------+---------+-----------+----------+---------
 id                 | integer |           | not null | 
 ho_ten             | text    |           | not null | 
 gioi_tinh          | text    |           |          | 
 thoi_gian_mua_hang | date    |           |          | 
Partition key: LIST (gioi_tinh)
Number of partitions: 3 (Use \d+ to list them.)

Bạn dùng câu lệnh \d sau đó là đến tên bảng mà bạn muốn xem cấu trúc. Như kết quả bên trên, bạn có thể biết được bảng này đang có những cột gì, kiểu dữ liệu (data type) ra sao, có cho phép NULL hay không,…

Ngoài ra bạn có thể thêm dấu “+” để thông tin hiển thị chi tiết hơn nữa

postgres=# \d+ khach_hang 
                                Partitioned table "postgres.khach_hang"
       Column       |  Type   | Collation | Nullable | Default | Storage  | Stats target | Description 
--------------------+---------+-----------+----------+---------+----------+--------------+-------------
 id                 | integer |           | not null |         | plain    |              | 
 ho_ten             | text    |           | not null |         | extended |              | 
 gioi_tinh          | text    |           |          |         | extended |              | 
 thoi_gian_mua_hang | date    |           |          |         | plain    |              | 
Partition key: LIST (gioi_tinh)
Partitions: khong_xac_dinh FOR VALUES IN ('Khong xac dinh'),
            nam FOR VALUES IN ('Nam'),
            nu FOR VALUES IN ('Nu')

Như vậy, bằng cách này chúng ta còn thấy được từng partition trong bảng đó luôn.

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