sql >> Database >  >> RDS >> PostgreSQL

Wat is het verschil tussen pg_table_size, pg_relation_size &pg_total_relation_size? (PostgreSQL)

Voor een willekeurige tabel:

# 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)

Daaruit kun je zien pg_table_size is de som van alle geretourneerde waarden van pg_relation_size . En pg_total_relation_size is de som van pg_table_size en pg_indexes_size .

Als je wilt weten hoeveel ruimte je tabellen innemen, gebruik dan pg_table_size en pg_total_relation_size om erover na te denken -- een getal is alleen voor tabellen en een getal is tabel + indexen.

Controleer de lay-out van het opslagbestand voor informatie over wat fsm , vm , en init betekenen, en hoe ze op schijf worden opgeslagen.



  1. Hoe een RDS Postgres-database pg_dumpen?

  2. Uw ultieme gids voor SQL Join:INNER JOIN - Deel 1

  3. Wijzig de standaard datum-tijdnotatie op een enkele database in SQL Server

  4. Hoe maak ik een lijst van actieve / open verbindingen in Oracle?