レガシーだが大きなサービスのローカル環境を構築中。
例によって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択(従量制の環境でしたので)