レガシーだが大きなサービスのローカル環境を構築中。
例によってstagingもdevelopmentもない。。
本番直にSCPでアップするデプロイ。。
なかなかヘビーな案件だ。
まずは開発環境とステージング、Git管理化へ置き、少しずつ良い方向に環境を変えて行きます。
本番環境でDBサイズを測って見た。
PostgreSQLのDBサイズ確認をするSQL
SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database; datname | pg_size_pretty -------------+---------------- template1 | 5630 kB template0 | 5614 kB postgres | 5638 kB work | 3357 MB xx_xxx_xx | 32 GB xx_xxxx | 74 GB (6 rows)
74GB!!
これはやばい。。
テーブルごとのサイズ確認
SELECT
relname,
reltuples as rows,
(relpages::int8 * 8192) as bytes,
(relpages::int8 * 8192/1024) as KB,
(relpages::int8 * 8192/1024/1024) as MB
FROM
pg_class
WHERE
relname = 'account_aaa'
OR relname = 'reward_aaa'
OR relname = 'user_reward_month'
OR relname = 'action_bbb'
OR relname = 'rt_actions'
OR relname = 'action_log_aaa'
OR relname = 'basic_report_daily'
こんな感じでサイズ取得できました。
relname | rows | bytes | kb | mb
-------------------------------------+-------------+------------+---------+------
rt_actions | 1.09986e+07 | 1111867392 | 1085808 | 1060
basic_report_daily | 7.4398e+06 | 1417371648 | 1384152 | 1351
テーブルごとにDumpするかデータセンターに出向いて外付けHDDにcopyするかの2択(従量制の環境でしたので)