sql >> Base de Datos >  >> RDS >> PostgreSQL

2 formas de obtener el tamaño de una base de datos en PostgreSQL

A continuación se muestran dos formas de devolver el tamaño de una base de datos específica en PostgreSQL.

El PG_DATABASE_SIZE() Función

El PG_DATABASE_SIZE() La función calcula el espacio total en disco utilizado por la base de datos con el nombre u OID especificado.

Ejemplo:

SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE('pethotel'));

Resultado:

8169 kB

Aquí, devolví el tamaño del pethotel base de datos.

En este caso también usé el PG_SIZE_PRETTY() función para devolver el resultado en un formato más fácilmente legible por humanos con unidades de tamaño (bytes, kB, MB, GB o TB, según corresponda).

Esto es lo que obtenemos sin esa función:

SELECT PG_DATABASE_SIZE('pethotel');

Resultado:

8364911

Para usar tél PG_DATABASE_SIZE() función, debe tener CONNECT privilegio en la base de datos especificada (que se otorga de forma predeterminada) o ser miembro de pg_read_all_stats rol.

El \l+ Comando

Si está utilizando psql, puede ejecutar \l+ dominio.

Ejemplo:

\l+ pagila

Resultado:

                                                 List of databases
+--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+
|  Name  |  Owner   | Encoding |   Collate   |    Ctype    | Access privileges | Size  | Tablespace | Description |
+--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+
| pagila | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |                   | 16 MB | pg_default |             |
+--------+----------+----------+-------------+-------------+-------------------+-------+------------+-------------+

Esta vez revisé la pagila base de datos.

Esto también se puede ejecutar usando \list+ (\l+ es la abreviatura de \list+ ).

El comando también se puede ejecutar sin el símbolo más (+ ), sin embargo, el + es lo que devuelve información ampliada, como el tamaño (que es lo que nos interesa aquí).

El comando también se puede ejecutar sin especificar la base de datos. En este caso, se devolverá la información de todas las bases de datos.

Tenga en cuenta que la información de tamaño solo está disponible para las bases de datos a las que el usuario actual puede conectarse.