<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Как посмотреть размер баз и таблиц в PostgreSQL</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/14259.html</link>
    <description>Для сопоставления OID номеров и имен баз и таблиц в contrib есть утилита oid2name.&lt;br&gt;&lt;br&gt;Для просмотра размера таблиц для текущей базы:&lt;br&gt;   SELECT relname AS name, relfilenode AS oid, (relpages * 8192 / (1024*1024))::int as size_mb, reltuples  as count &lt;br&gt;      FROM pg_class &lt;br&gt;      WHERE relname NOT LIKE &apos;pg&#037;&apos; &lt;br&gt;      ORDER BY relpages DESC;&lt;br&gt;&lt;br&gt;Для просмотра общего размера баз можно использовать скрипт:&lt;br&gt;   #!/bin/sh&lt;br&gt;   oid2name=/usr/local/pgsql/bin/oid2name&lt;br&gt;   pg_data_path=/usr/local/pgsql/data/base&lt;br&gt;&lt;br&gt;   &#123;&lt;br&gt;      $oid2name&amp;#124; grep &apos;=&apos;&amp;#124; while read oid delim name; do&lt;br&gt;          size=&#096;du -s $pg_data_path/$oid&amp;#124;cut -f1&#096;&lt;br&gt;          echo &quot;$size $name&quot;&lt;br&gt;      done&lt;br&gt;   &#125;&amp;#124;sort -rn&lt;br&gt;&lt;br&gt;&lt;br&gt;URL: &lt;br&gt;Обсуждается: http://www.opennet.ru/tips/info/917.shtml&lt;br&gt;</description>

<item>
    <title>Как посмотреть размер баз и таблиц в PostgreSQL (bammbr)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/14259.html#6</link>
    <pubDate>Wed, 15 Jan 2020 19:57:28 GMT</pubDate>
    <description>...&quot;Для просмотра общего размера баз можно использовать скрипт:&quot;&lt;br&gt;&lt;br&gt;Спустя 15 лет, в Centos и от root-а работает это&lt;br&gt;&lt;br&gt;#!/bin/sh&lt;br&gt;oid2name=&quot;sudo -u postgres /usr/pgsql-10/bin/oid2name -q&quot;&lt;br&gt;pg_data_path=&quot;/var/lib/pgsql/10/data/base&quot;&lt;br&gt;&lt;br&gt;&#123;&lt;br&gt;   $oid2name&amp;#124; while read oid name space; do&lt;br&gt;       size=&#096;du -sh $pg_data_path/$oid&amp;#124;cut -f1&#096;&lt;br&gt;       echo &quot;$size $name&quot;&lt;br&gt;   done&lt;br&gt;&#125;&amp;#124;sort -rh&amp;#124; column -t&lt;br&gt;</description>
</item>

<item>
    <title>Как посмотреть размер баз и таблиц в PostgreSQL (Тимофей)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/14259.html#5</link>
    <pubDate>Mon, 23 Jan 2017 11:16:40 GMT</pubDate>
    <description>Знатоки, подскажите пожалуйста.&lt;br&gt;Есть таблица:&lt;br&gt;&amp;#8470; записи - ИД компании - Информация&lt;br&gt;Как посчитать объем дискового пространства, занимаемого информацией определенной компании?&lt;br&gt;Спасибо.&lt;br&gt;</description>
</item>

<item>
    <title>Как посмотреть размер баз и таблиц в PostgreSQL (AlexGor)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/14259.html#4</link>
    <pubDate>Mon, 19 Oct 2009 06:50:31 GMT</pubDate>
    <description>-- размер таблиц:&lt;br&gt;SELECT&lt;br&gt;schemaname&amp;#124;&amp;#124;&apos;.&apos;&amp;#124;&amp;#124;tablename AS full_tname,&lt;br&gt;pg_size_pretty(pg_total_relation_size(schemaname&amp;#124;&amp;#124;&apos;.&apos;&amp;#124;&amp;#124;tablename)) AS total_usage,&lt;br&gt;pg_size_pretty((pg_total_relation_size(schemaname&amp;#124;&amp;#124;&apos;.&apos;&amp;#124;&amp;#124;tablename) - pg_relation_size(schemaname&amp;#124;&amp;#124;&apos;.&apos;&amp;#124;&amp;#124;tablename))) AS external_table_usage&lt;br&gt;FROM pg_catalog.pg_tables&lt;br&gt;ORDER BY pg_total_relation_size(schemaname&amp;#124;&amp;#124;&apos;.&apos;&amp;#124;&amp;#124;tablename) DESC;&lt;br&gt;&lt;br&gt;-- размер базы:&lt;br&gt;SELECT pg_size_pretty(SUM(pg_total_relation_size(schemaname&amp;#124;&amp;#124;&apos;.&apos;&amp;#124;&amp;#124;tablename))::bigint) AS grand_total&lt;br&gt;FROM pg_catalog.pg_tables&lt;br&gt;</description>
</item>

<item>
    <title>Как посмотреть размер баз и таблиц в PostgreSQL (Константин)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/14259.html#3</link>
    <pubDate>Sat, 06 Jun 2009 18:06:11 GMT</pubDate>
    <description>Условие &quot;WHERE relname NOT LIKE &apos;pg&#037;&apos;&quot; нужно убрать, т.к. вы не увидите toast-таблиц, где распологаются, например, text-поля пользовательских таблиц, которые соответственно не попадают в размер самой таблицы.&lt;br&gt;</description>
</item>

<item>
    <title>Как посмотреть размер баз и таблиц в PostgreSQL (cubite)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/14259.html#2</link>
    <pubDate>Wed, 14 Mar 2007 20:02:12 GMT</pubDate>
    <description>select pg_size_pretty(pg_database_size(&apos;database_name&apos;));&lt;br&gt;select pg_size_pretty(pg_relation_size(&apos;table_name&apos;));&lt;br&gt;</description>
</item>

<item>
    <title>Как посмотреть размер баз и таблиц в PostgreSQL (Den)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/14259.html#1</link>
    <pubDate>Wed, 05 Apr 2006 11:07:17 GMT</pubDate>
    <description>Вот это:&lt;br&gt;(relpages * 8192 / (1024*1024))&lt;br&gt;&lt;br&gt;АБСОЛЮТНО!!! неправильно, хотя везде это пример упоминают. Дело в том, что при достаточно большом размере (порядка нескольких гигабайт) происходит переполнение и в результате получается полная чушь.&lt;br&gt;&lt;br&gt;Арифметику учили?&lt;br&gt;* 8192 / (1024*1024) == / 128&lt;br&gt;&lt;br&gt;Итого:&lt;br&gt;&lt;br&gt;SELECT relname AS name, relfilenode AS oid, (relpages / 128) as size_mb, reltuples  as count FROM pg_class WHERE relname NOT LIKE &apos;pg&#037;&apos; ORDER BY relpages DESC;</description>
</item>

</channel>
</rss>
