--- /dev/null
+
+
+
+
Monitoring Disk Usage
+
+
+
Monitoring Disk Usage
+
+
+
+
+ Each table has a primary heap disk file where most of the data is
+ stored. To store long column values, there is also a
+
TOAST> file associated with the table, named based on the
+ table's oid (actually pg_class.relfilenode), and an index on the
+
TOAST> table. There also may be indexes associated with
+ the base table.
+
+
+ You can monitor disk space from two places; from inside
+
psql> and from the command line using
+
contrib/oid2name>. Using psql> you can
+ issue queries to see the disk usage for any table:
+play=# SELECT relfilenode, relpages
+play-# FROM pg_class
+play-# WHERE relname = 'customer';
+ relfilenode | relpages
+-------------+----------
+ 16806 | 60
+(1 row)
+
+
+
+ Each page is typically 8 kilobytes. relpages> is only
+ updated by VACUUM> and ANALYZE>. To show the
+ space used by
TOAST> tables, use a query based on the heap
+ relfilenode:
+play=# SELECT relname, relpages
+play-# FROM pg_class
+play-# WHERE relname = 'pg_toast_16806' or
+play-# relname = 'pg_toast_16806_index'
+play-# ORDER BY relname;
+ relname | relpages
+----------------------+----------
+ pg_toast_16806 | 0
+ pg_toast_16806_index | 1
+
+
+
+ You can easily display index usage too:
+play=# SELECT c2.relname, c2.relpages
+play-# FROM pg_class c, pg_class c2, pg_index i
+play-# WHERE c.relname = 'customer' AND
+play-# c.oid = i.indrelid AND
+play-# c2.oid = i.indexrelid
+play-# ORDER BY c2.relname;
+ relname | relpages
+----------------------+----------
+ customer_id_indexdex | 26
+
+
+
+ It is easy to find your largest files using
psql>:
+play=# SELECT relname, relpages
+play-# FROM pg_class
+play-# ORDER BY relpages DESC;
+ relname | relpages
+----------------------+----------
+ bigtable | 3290
+ customer | 3144
+
+
+
+ You can also use
oid2name> to show disk usage. See
+ README.oid2name> for examples. It includes a script
+ shows disk usage for each database.
+
+
+
+
+
-
-
Disk Space Maintenance
-
-
-
-
- Each table has a primary heap disk file where most of the data is
- stored. To store long column values, there is also a
-
TOAST> file associated with the table, named based on the
- table's oid (actually pg_class.relfilenode), and an index on the
-
TOAST> table. There also may be indexes associated with
- the base table.
-
-
- You can monitor disk space from two places; from inside
-
psql> and from the command line using
-
contrib/oid2name>. Using psql> you can
- issue queries to see the disk usage for any table:
-play=# SELECT relfilenode, relpages
-play-# FROM pg_class
-play-# WHERE relname = 'customer';
- relfilenode | relpages
--------------+----------
- 16806 | 60
-(1 row)
-
-
-
- Each page is typically 8 kilobytes. relpages> is only
- updated by VACUUM> and ANALYZE>. To show the
- space used by
TOAST> tables, use a query based on the heap
- relfilenode:
-play=# SELECT relname, relpages
-play-# FROM pg_class
-play-# WHERE relname = 'pg_toast_16806' or
-play-# relname = 'pg_toast_16806_index'
-play-# ORDER BY relname;
- relname | relpages
-----------------------+----------
- pg_toast_16806 | 0
- pg_toast_16806_index | 1
-
-
-
- You can easily display index usage too:
-play=# SELECT c2.relname, c2.relpages
-play-# FROM pg_class c, pg_class c2, pg_index i
-play-# WHERE c.relname = 'customer' AND
-play-# c.oid = i.indrelid AND
-play-# c2.oid = i.indexrelid
-play-# ORDER BY c2.relname;
- relname | relpages
-----------------------+----------
- customer_id_indexdex | 26
-
-
-
- It is easy to find your largest files using
psql>:
-play=# SELECT relname, relpages
-play-# FROM pg_class
-play-# ORDER BY relpages DESC;
- relname | relpages
-----------------------+----------
- bigtable | 3290
- customer | 3144
-
-
-
- You can also use
oid2name> to show disk usage. See
- README.oid2name> for examples. It includes a script
- shows disk usage for each database.
-
-
-
Log File Maintenance