Lệnh để liệt kê tất cả các bảng trong PostgreSQL

Trong PostgreSQL, bạn có thể sử dụng nhiều cách khác nhau để liệt kê tất cả các bảng trong một cơ sở dữ liệu. Dưới đây là các phương pháp phổ biến:

1. Sử dụng lệnh dt trong psql

Nếu bạn đang sử dụng công cụ dòng lệnh psql, bạn có thể sử dụng lệnh sau để hiển thị danh sách tất cả các bảng trong cơ sở dữ liệu hiện tại:

\dt

Chi tiết:

  • dt sẽ hiển thị danh sách các bảng cùng với thông tin về các cột như tên bảng, kiểu bảng, và chủ sở hữu.

2. Sử dụng truy vấn SQL

Bạn cũng có thể sử dụng một truy vấn SQL để lấy danh sách tất cả các bảng trong cơ sở dữ liệu. Dưới đây là một truy vấn mẫu:

SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public'
  AND table_type = 'BASE TABLE';

Giải thích:

  • information_schema.tables: Đây là một bảng hệ thống chứa thông tin về tất cả các bảng trong cơ sở dữ liệu.
  • table_schema = 'public': Điều này xác định rằng bạn chỉ muốn lấy các bảng trong schema public. Nếu bạn có các schema khác, bạn có thể thay đổi giá trị này hoặc bỏ qua điều kiện này.
  • table_type = 'BASE TABLE': Điều này lọc kết quả để chỉ hiển thị các bảng cơ sở, không bao gồm các view.

3. Sử dụng lệnh d để liệt kê mọi đối tượng

Nếu bạn muốn xem tất cả các đối tượng trong cơ sở dữ liệu hiện tại (bao gồm cả bảng, view, và index), bạn có thể sử dụng lệnh:

\d                                                                                                                                                                                                                           .

Lệnh này sẽ hiển thị danh sách tất cả các đối tượng trong cơ sở dữ liệu mà bạn có quyền truy cập.

Kết luận

Để liệt kê tất cả các bảng trong PostgreSQL, bạn có thể sử dụng lệnh dt trong psql, hoặc sử dụng truy vấn SQL trên bảng hệ thống information_schema.tables. Ngoài ra, lệnh d cũng cung cấp cái nhìn tổng quan về mọi đối tượng trong cơ sở dữ liệu. Việc hiểu cách sử dụng các lệnh này sẽ giúp bạn quản lý và kiểm tra cơ sở dữ liệu của mình một cách hiệu quả hơn.