#author("2022-01-27T04:30:51+00:00","default:wikiadmin","wikiadmin") -backupを極める -実行はpostgresユーザー前提なので、そうじゃない場合は-U postgresつける *DBサイズ確認 [#ucad605a] SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database; *実行中の負荷 [#g2afd4e7] -どの形式でもPostgresのCPU使用率は100%程度まで上がる。 *テキスト形式 [#f9a89d27] pg_dump -d DB_NAME > dump.sql *Custom形式 [#vd2e8d18] -並列実行可能でアーカイブしてくれる -テキスト形式の1/10以下のサイズ。テキスト+gzipと同等。時間を考えるとこれ一択 -ただしバイナリ -リストアはpg_restoreが必要 pg_dump -Fc DB_NAME > /var/tmp/custom.dmp *時間計測 [#t128b22f] 4G程度で2分半あれば終わる。サイズは圧縮で200MBほど。 *大量データ作成 [#l2ee97b8] CREATE TABLE tasks ( id SERIAL NOT NULL, name VARCHAR(255) NOT NULL, created_at TIMESTAMP, updated_at TIMESTAMP, PRIMARY KEY (id) ); -10億レコード INSERT INTO tasks ( id ,name ,created_at ,updated_at ) SELECT i ,format('%s連番とても長いデータを造るためにがんばります', i) ,now() ,now() FROM generate_series(1, 1000000000) as i;