PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Sự khác biệt giữa pg_table_size, pg_relation_size &pg_total_relation_size là gì? (PostgreSQL)

Đối với một bảng ngẫu nhiên:

# select pg_relation_size(20306, 'main') as main,
  pg_relation_size(20306, 'fsm') as fsm,
  pg_relation_size(20306, 'vm') as vm,
  pg_relation_size(20306, 'init') as init,
  pg_table_size(20306), pg_indexes_size(20306) as indexes,
  pg_total_relation_size(20306) as total;
  main  |  fsm  |  vm  | init | pg_table_size | indexes |  total 
--------+-------+------+------+---------------+---------+--------
 253952 | 24576 | 8192 |    0 |        286720 |  196608 | 483328
(1 row)

Từ đó, bạn có thể nói với pg_table_size là tổng của tất cả các giá trị trả về của pg_relation_size . Và pg_total_relation_size là tổng của pg_table_sizepg_indexes_size .

Nếu bạn muốn biết bảng của mình đang sử dụng bao nhiêu dung lượng, hãy sử dụng pg_table_sizepg_total_relation_size để nghĩ về chúng - một số là chỉ bảng và một số là bảng + chỉ mục.

Kiểm tra bố cục tệp lưu trữ để biết một số thông tin về cái gì fsm , vminit ý nghĩa và cách chúng được lưu trữ trên đĩa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cập nhật truy vấn với phép nối trên hai bảng

  2. Toán tử IN so với BẤT KỲ trong PostgreSQL

  3. Nhận số lượng bản ghi bị ảnh hưởng bởi INSERT hoặc UPDATE trong PostgreSQL

  4. Làm cách nào để lấy tên múi giờ hiện tại trong Postgres 9.3?

  5. psycopg2 rò rỉ bộ nhớ sau khi truy vấn lớn