为什么pg_dump创建一个巨大的文件?

时间:2018-12-16 14:53:24

标签: postgresql

我当前正在尝试备份Postgres 10.x数据库。如果我使用此处的代码段https://wiki.postgresql.org/wiki/Disk_Usage#Finding_the_largest_databases_in_your_cluster检查数据库的大小,则数据库为180MB。但是,如果我使用

pg_dump my_database > my_database_backup

要备份数据,它将创建一个大小超过2GB的文件。关于为什么pg_dump创建的备份文件大小是原始数据大小的10倍有什么想法?我认为内联sql命令可能会导致文件大小增加,但是10倍对我来说似乎有点极端。

编辑:检查数据库大小的特定查询(此服务器上只有2个数据库,因此限制在20个以内)

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

0 个答案:

没有答案