sql - tables - Postgres DB Size Command
psql connect to database (10)
Basado en la respuesta here por @Hendy Irawan
Mostrar tamaños de base de datos:
/l+
p.ej
=> /l+
berbatik_prd_commerce | berbatik_prd | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 19 MB | pg_default |
berbatik_stg_commerce | berbatik_stg | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8633 kB | pg_default |
bursasajadah_prd | bursasajadah_prd | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 1122 MB | pg_default |
Mostrar tamaños de mesa:
/d+
p.ej
=> /d+
public | tuneeca_prd | table | tomcat | 8192 bytes |
public | tuneeca_stg | table | tomcat | 1464 kB |
Solo funciona en psql
.
¿Hay algún comando para encontrar el tamaño de todas las bases de datos en Postgres?
Puedo encontrar el tamaño de una base de datos específica usando el siguiente comando:
select pg_database_size(''databaseName'');
Desde el wiki de PostgreSQL .
Las bases de datos a las que el usuario no puede conectarse se clasifican como si tuvieran un tamaño infinito.
SELECT d.datname AS Name, pg_catalog.pg_get_userbyid(d.datdba) AS Owner,
CASE WHEN pg_catalog.has_database_privilege(d.datname, ''CONNECT'')
THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname))
ELSE ''No Access''
END AS Size
FROM pg_catalog.pg_database d
ORDER BY
CASE WHEN pg_catalog.has_database_privilege(d.datname, ''CONNECT'')
THEN pg_catalog.pg_database_size(d.datname)
ELSE NULL
END DESC -- nulls first
LIMIT 20
La página también tiene fragmentos para encontrar el tamaño de tus relaciones más grandes y tablas más grandes.
Inicie pgAdmin, conéctese al servidor, haga clic en el nombre de la base de datos y seleccione la pestaña de estadísticas. Verá el tamaño de la base de datos en la parte inferior de la lista.
Luego, si hace clic en otra base de datos, permanece en la pestaña de estadísticas para que pueda ver fácilmente muchos tamaños de base de datos sin mucho esfuerzo. Si abre la lista de tablas, muestra todas las tablas y sus tamaños.
Puede obtener los nombres de todas las bases de datos a las que puede conectarse desde la tabla del sistema "pg_datbase". Simplemente aplique la función a los nombres, como se muestra a continuación.
select t1.datname AS db_name,
pg_size_pretty(pg_database_size(t1.datname)) as db_size
from pg_database t1
order by pg_database_size(t1.datname) desc;
Si pretende que la salida sea consumida por una máquina en lugar de una humana, puede cortar la función pg_size_pretty ().
Puede usar la siguiente consulta para encontrar el tamaño de todas las bases de datos de PostgreSQL.
La referencia es tomada de este blog.
SELECT
datname AS DatabaseName
,pg_catalog.pg_get_userbyid(datdba) AS OwnerName
,CASE
WHEN pg_catalog.has_database_privilege(datname, ''CONNECT'')
THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(datname))
ELSE ''No Access For You''
END AS DatabaseSize
FROM pg_catalog.pg_database
ORDER BY
CASE
WHEN pg_catalog.has_database_privilege(datname, ''CONNECT'')
THEN pg_catalog.pg_database_size(datname)
ELSE NULL
END DESC;
Sí, hay un comando para encontrar el tamaño de una base de datos en Postgres. Es el siguiente:
SELECT pg_database.datname as "database_name", pg_size_pretty(pg_database_size(pg_database.datname)) AS size_in_mb FROM pg_database ORDER by size_in_mb DESC;
SELECCIONE pg_size_pretty (pg_database_size (''nombre de la base de datos''));
Le dará el tamaño total de una base de datos particular, sin embargo, no creo que pueda hacer todas las bases de datos dentro de un servidor.
Sin embargo usted podría hacer esto ...
DO
$$
DECLARE
r RECORD;
db_size TEXT;
BEGIN
FOR r in
SELECT datname FROM pg_database
WHERE datistemplate = false
LOOP
db_size:= (SELECT pg_size_pretty(pg_database_size(r.datname)));
RAISE NOTICE ''Database:% , Size:%'', r.datname , db_size;
END LOOP;
END;
$$
Y ... Si no desea escribir una consulta completa ... también puede escribir ...
/l+ <database_name>
y obtendrá algunos detalles sobre la base de datos, incluido el tamaño de la base de datos.
Y ... Para obtener tamaños de todas las bases de datos.
usted puede simplemente escribir ...
/l+
Es posible que deba ingresar al indicador de comando postgresql para consultar con estos comandos de ayuda postgresql.
Compruebe otros comandos de ayuda postgresql escribiendo
/?
en el símbolo del sistema postgresql.
-- Database Size
SELECT pg_size_pretty(pg_database_size(''Database Name''));
-- Table Size
SELECT pg_size_pretty(pg_relation_size(''table_name''));
du -k /var/lib/postgresql/ |sort -n |tail