2014年3月6日木曜日

PostgreSQL9.3に更新してからDBのサイズが取得できなくなった

仕事でPostgreSQL8.3を使っていたがいろいろ問題があって9.3にアップする事に。
DB監視でサイズ情報を取得していたが動かなくなってしまいさあ大変。
ということで調べてみた。

これが今まで使っていたクエリ(の抜粋)
select
  relname,
  to_char(pg_relation_size(relname)),
  to_char(pg_total_relation_size(relname)),
  relfilenode
where
 pg_class
where
 relowner = xxxx and
 relkind = 'r';

こんな情報がありました。明示的なキャストが必要みたい。でも8.3だぞ?

 http://www.sraoss.co.jp/technology/postgresql/8.3/



select
  relname,
  to_char(pg_relation_size(relname::text)),
  to_char(pg_total_relation_size(relname::text)),
  relfilenode
where
 pg_class
where
 relowner = xxxx and
 relkind = 'r';

実際に明示的に記述することで取得できるようになった。
実務ではプログラミングから離れているため、このようなちょっとしたことでも
キャッチアップできていない。そんな自分に腹が立つ。。。

0 件のコメント:

コメントを投稿