Re: Table Size

Поиск
Список
Период
Сортировка
От Tom Hebbron
Тема Re: Table Size
Дата
Msg-id c274d5$2bbe$1@news.hub.org
обсуждение исходный текст
Ответ на Table Size  ("Muhyiddin A.M Hayat" <middink@indo.net.id>)
Список pgsql-php
 WHERE
    relnamespace = (SELECT oid FROM pg_namespace WHERE nspname =
 '<schema_name>') AND
    relname = '<table_name>';

can be replaced with

WHERE oid = 'schemaname.tablename'::regclass::oid

which will look up the oid for the table taking into account the current
schema_path settings.
(the cast to oid is unneccesary, but included here for clarity only)

--
Tom Hebbron
www.hebbron.com

"Paul Tillotson" <pntil@shentel.net> wrote in message
news:40203D13.4000906@shentel.net...
> Muhyiddin A.M Hayat wrote:
>
>> How do I know table size?
>
> Someone else suggested dumping the table to find out how large it is.  If
> you wanted to know how large it would be when dumped, this is the only way
> to find out, but it's not a reliable measurement of how much space a table
> is currently using.  Because dumps don't store indexes, (and indexes can
> continue to grow), you will often find that a compressed dump is many
> times smaller than the on-disk files which belong to it. However, if you
> do a plain text dump, the dumped file may very well be larger because
> everything is stored in ASCII.
>
> The two methods below show on-disk sizes of tables, not including indexes
> and TOASTED (stored out of line) columns.
> METHOD 1:
>
> You can learn approximately how much disk space it is using by doing:
>
> SELECT relpages * 8192 AS size_in_bytes
> FROM pg_class
> WHERE
>    relnamespace = (SELECT oid FROM pg_namespace WHERE nspname =
> '<schema_name>') AND
>    relname = '<table_name>';
>
> Notes:
>
> (1) Use 'public' as the schema name unless you put your table in a
> different schema.
> (2) This value is only updated by the commands VACUUM, ANALYZE, and CREATE
> INDEX.  Thus, if you have been changing your table, run ANALYZE
> <table_name> before running this query.  See
> http://www.postgresql.org/docs/7.4/static/catalog-pg-class.html
>
> METHOD 2:
>
> Go use ls -l to look at the file in which your data is stored.  Run this
> command to find the file node number for a particular table:
>
> SELECT relfilenode
> FROM pg_class
> WHERE
>    relnamespace = (SELECT oid FROM pg_namespace WHERE nspname =
> '<schema_name>') AND
>    relname = '<table_name>';
>
> Then go do
> ls -l <your postgres data directory>/base/<file node number>
>
> Example:
>
> ls -l /usr/local/pgsql/data/base/17384
>
> Paul Tillotson
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
>               http://www.postgresql.org/docs/faqs/FAQ.html
>



В списке pgsql-php по дате отправления:

Предыдущее
От: Robby Russell
Дата:
Сообщение: Re: Please help: PHP4/postgres db woes
Следующее
От: Markus Bertheau
Дата:
Сообщение: Re: Please help: PHP4/postgres db woes