Encuentre el tamaño de disco de una tabla de PostgreSQL y sus índices
- Encuentre el tamaño de disco de una tabla y base de datos de PostgreSQL usando PSQL
- Encuentre el tamaño de la tabla más grande en la base de datos
Este artículo discutirá cómo podemos encontrar el tamaño de disco de una tabla de PostgreSQL y sus índices.
Encuentre el tamaño de disco de una tabla y base de datos de PostgreSQL usando PSQL
Puede usar \l+
para ver los tamaños de la base de datos y \d+
para mostrar el tamaño de la tabla. Pero antes de esto, debe iniciar sesión en la base de datos para realizar la consulta.
Aquí está el siguiente comando y salida para mostrar el tamaño de la tabla y la base de datos en Postgres:
postgres=# \l+
Producción:
postgres-# \d+
List of relations
Schema | Name | Type | Owner | Persistence | Access method | Size | Description
--------+------------------+----------+----------+-------------+---------------+------------+-------------
public | book_lends | table | postgres | permanent | heap | 16 kB |
public | books | table | postgres | permanent | heap | 16 kB |
public | employee | table | postgres | permanent | heap | 16 kB |
public | employee_id_seq | sequence | postgres | permanent | | 8192 bytes |
public | events | table | postgres | permanent | heap | 16 kB |
public | mock_data | table | postgres | permanent | heap | 48 kB |
public | product | table | postgres | permanent | heap | 16 kB |
public | product_id_seq | sequence | postgres | permanent | | 8192 bytes |
public | products | table | postgres | permanent | heap | 16 kB |
public | products_id_seq | sequence | postgres | permanent | | 8192 bytes |
public | prroducts | table | postgres | permanent | heap | 8192 bytes |
public | prroducts_id_seq | sequence | postgres | permanent | | 8192 bytes |
public | stores | table | postgres | permanent | heap | 16 kB |
public | stores_id_seq | sequence | postgres | permanent | | 8192 bytes |
public | users | table | postgres | permanent | heap | 16 kB |
(15 rows)
Aquí muestra todas las tablas con su nombre, tipo, propietario, tamaño, método de acceso, etc., que tenemos en la base de datos de Postgres.
Encuentre el tamaño de la tabla más grande en la base de datos
Aquí hay un fragmento de código que el funcionario de Postgres escribió para mostrar los tamaños de las tablas en orden descendente.
SELECT nspname || '.' || relname AS "relation",
pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
AND C.relkind <> 'i'
AND nspname !~ '^pg_toast'
ORDER BY pg_total_relation_size(C.oid) DESC
LIMIT 10;
Producción :
relation | total_size
-------------------+------------
public.mock_data | 48 kB
public.product | 32 kB
public.products | 32 kB
public.books | 32 kB
public.book_lends | 32 kB
public.employee | 32 kB
public.stores | 32 kB
public.users | 32 kB
public.events | 16 kB
public.prroducts | 16 kB
(10 rows)
Buscamos las 10 tablas más grandes bajo postgres
en la base de datos.
Puede hacer clic en el siguiente enlace para conocer más consultas sobre el tamaño del disco en Postgres. Encontrará la consulta SQL para encontrar el clúster más grande, las relaciones más grandes, las tablas particionadas, etc.
Aquí hay más información sobre las funciones relacionadas con el tamaño de la base de datos.