現在位置: ホーム / みらくるブログ / 2.0 + PostgreSQLで値があふれた(T_T) 【MIRACLE ZBX 2.0】

2.0 + PostgreSQLで値があふれた(T_T) 【MIRACLE ZBX 2.0】

Zabbix 2.0のPostgreSQLのスキーマには、bigserialが必要なところにserialが使われています。テーブルのスキーマ変更をすることをお薦めします。

2.0 + PostgreSQLで値があふれました(T_T)

というお問い合わせがありました。

このお客様は既にご自身で解決されたとのことでしたが、知っておいてもよい情報だと思いますので記事にしてみました。

 

serialは32bit値となります

PostgreSQL用のスキーマに下記のようにserialとしているものが何箇所かあります。

CREATE TABLE history_sync (
id                       serial                                    NOT NULL,

...

 

確かに、serial は 32bit値となるので大規模な監視を行うとあふれる心配があります。

MySQL用のスキーマでは、問題なく bigint unsigned となっています。また、対応するCコードも64bitとなっています。

 

問題解決のためにテーブル情報を変更する

問題解決のためにはテーブル情報を、PostgreSQLに接続し下記のように変更する必要があります。

# alter table history_sync alter id bigserial;
# alter table history_uint_sync alter id bigserial;
# alter table history_str_sync alter id bigserial;
# alter table proxy_history alter id bigserial;
# alter table proxy_dhistory alter id bigserial;
# alter table proxy_autoreg_host alter id bigserial;