我試圖調查一個數據庫膨脹問題,我發現了一個表不完整的問題,我不明白,也找不到調查的方法。如果我錯過了顯而易見的信息,我很抱歉,我對數據庫的知識和經驗很少。什麼看起來像在postgresql表分區內的表?我如何調查?
PostgreSQL的9.0
我有一個跟蹤有關DHCP分配的歷史信息的數據庫,它有四個表:日誌,租賃,池,消息。
每個表都按天分成分區,因此我們可以在30天后刪除分區。其中一些分區每天增加> 4M行。
綜觀大部分分區的給我我所期待的:
dhcplog=> \d+ leases
Table "public.leases"
Column | Type | Modifiers | Storage | Description
------------+--------------------------+-----------------------------------------------------+---------+-------------
id | bigint | not null default nextval('leases_id_seq'::regclass) | plain |
ip | inet | | main |
mac | macaddr | | plain |
start | timestamp with time zone | | plain |
stop | timestamp with time zone | | plain |
switchport | integer | | plain |
Foreign-key constraints:
"leases_switchport_fkey" FOREIGN KEY (switchport) REFERENCES switchports(id)
Child tables: partitions.leases_2014_08_02,
partitions.leases_2014_08_03,
partitions.leases_2014_08_04,
partitions.leases_2014_08_05,
partitions.leases_2014_08_06, ...
但在表中我有什麼樣子的分區列表中的一部分(另外兩個表的引用信息和原木):
dhcplog=> \d+ log
Table "public.log"
Column | Type | Modifiers | Storage | Description
---------+--------------------------+--------------------------------------------------+----------+-------------
id | bigint | not null default nextval('log_id_seq'::regclass) | plain |
date | timestamp with time zone | | plain |
host | character varying(30) | | extended |
message | character varying(255) | | extended |
Child tables: messages,
partitions.log_2014_10_01,
partitions.log_2014_10_02, ...
partitions.log_2014_11_07,
pools
我不能得到一個行數或從這些分區雖然任何信息:
dhcplog=> SELECT count(*) FROM partitions.messages;
ERROR: relation "partitions.messages" does not exist
LINE 1: SELECT count(*) FROM partitions.messages;
^
但伯爵對所有其他人都適用。
任何建議/建議?
謝謝。 -sjs
表名是'public.messages'。只需使用'select count(*)from public.messages;'其他表('log_xxx')位於模式'partitions'中。 – 2014-10-31 19:17:48