Bea*_*ind 294 sql postgresql postgresql-9.2
是否有任何命令可以在Postgres中找到所有数据库大小?
我可以使用以下命令找到特定数据库的大小:
select pg_database_size('databaseName');
Run Code Online (Sandbox Code Playgroud)
Ash*_*ish 334
并且......如果您可能不想输入整个查询...您也可以输入...
\l+ <database_name>
Run Code Online (Sandbox Code Playgroud)
您将获得有关数据库的一些详细信息,包括数据库的大小.
并且...获取所有数据库的大小.
你可以输入......
\l+
Run Code Online (Sandbox Code Playgroud)
您可能需要进入postgresql命令提示符以使用这些postgresql帮助程序命令进行查询.
键入以检查其他postgresql帮助程序命令
\?
Run Code Online (Sandbox Code Playgroud)
在postgresql命令提示符下.
Mik*_*ll' 175
您可以从"pg_datbase"系统表中获取可以连接到的所有数据库的名称.只需将函数应用于名称,如下所示.
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;
Run Code Online (Sandbox Code Playgroud)
如果您希望输出由机器而不是人类使用,则可以剪切pg_size_pretty()函数.
小智 146
-- Database Size
SELECT pg_size_pretty(pg_database_size('Database Name'));
-- Table Size
SELECT pg_size_pretty(pg_relation_size('table_name'));
Run Code Online (Sandbox Code Playgroud)
owy*_*gsk 70
基于答案在这里通过@Hendy Irawan
显示数据库大小:
\l+
例如
=> \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 |
Run Code Online (Sandbox Code Playgroud)
显示表格大小:
\d+
例如
=> \d+
public | tuneeca_prd | table | tomcat | 8192 bytes |
public | tuneeca_stg | table | tomcat | 1464 kB |
Run Code Online (Sandbox Code Playgroud)
只适用于psql.
小智 25
是的,有一个命令可以在Postgres中找到数据库的大小.它是以下内容:
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;
Run Code Online (Sandbox Code Playgroud)
小智 16
SELECT pg_size_pretty(pg_database_size('database of database'));
将为您提供特定数据库的总大小,但我不认为您可以在服务器中执行所有数据库.
但是你可以这样做......
SELECT pg_size_pretty(pg_database_size('name of database'));
Run Code Online (Sandbox Code Playgroud)
Gol*_*Jer 11
用户无法连接的数据库按其无限大小排序.
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
Run Code Online (Sandbox Code Playgroud)
该页面还包含用于查找最大关系和最大表格大小的片段.
启动 pgAdmin,连接到服务器,点击数据库名称,然后选择统计选项卡。您将在列表底部看到数据库的大小。
然后,如果您单击另一个数据库,它会停留在统计选项卡上,因此您可以轻松查看许多数据库大小。如果您打开表格列表,它会显示所有表格及其大小。
您可以使用以下查询来查找 PostgreSQL 所有数据库的大小。
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;
Run Code Online (Sandbox Code Playgroud)