Dưới đây là hai cách để trả về kích thước của một cơ sở dữ liệu cụ thể trong PostgreSQL.
PG_DATABASE_SIZE()
Chức năng
PG_DATABASE_SIZE()
hàm tính toán tổng dung lượng đĩa được sử dụng bởi cơ sở dữ liệu với tên hoặc OID được chỉ định.
Ví dụ:
SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel'));
Kết quả:
8169 kB
Tại đây, tôi đã trả về kích thước của pethotel
cơ sở dữ liệu.
Trong trường hợp này, tôi cũng đã sử dụng PG_SIZE_PRETTY()
chức năng trả về kết quả ở định dạng con người dễ đọc hơn với các đơn vị kích thước (byte, kB, MB, GB hoặc TB nếu thích hợp).
Đây là những gì chúng tôi nhận được nếu không có chức năng đó:
SELECT PG_DATABASE_SIZE('pethotel');
Kết quả:
8364911
Để sử dụng t he PG_DATABASE_SIZE()
, bạn phải có CONNECT
đặc quyền trên cơ sở dữ liệu được chỉ định (được cấp theo mặc định) hoặc là thành viên của pg_read_all_stats
vai trò.
\l+
Lệnh
Nếu đang sử dụng psql, bạn có thể chạy \l+
yêu cầu.
Ví dụ:
\l+ pagila
Kết quả:
List of databases +--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | Size | Tablespace | Description | +--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+ | pagila | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 16 MB | pg_default | | +--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+
Lần này tôi đã kiểm tra pagila
cơ sở dữ liệu.
Điều này cũng có thể được chạy bằng \list+
(\l+
là viết tắt của \list+
).
Lệnh này cũng có thể được chạy mà không có biểu tượng dấu cộng (+
), tuy nhiên, +
là thông tin trả về thông tin mở rộng, chẳng hạn như kích thước (là điều chúng tôi quan tâm ở đây).
Lệnh cũng có thể được chạy mà không cần chỉ định cơ sở dữ liệu. Trong trường hợp này, thông tin về tất cả các cơ sở dữ liệu sẽ được trả về.
Lưu ý rằng thông tin kích thước chỉ có sẵn cho cơ sở dữ liệu mà người dùng hiện tại có thể kết nối.