PostgreSQL: pg_dump, pg_restore performansını artırmak
Başladığımda, varsayılan sade biçimi ile pg_dump
kullandım. Kültürsüz olduğumu.
Araştırma bana zaman ortaya ve pg_dump -Fc | gzip -9 -c > dumpfile.gz
dosya boyutu iyileştirmeler. Aydınlandım.
Zaman veritabanını yeniden oluşturmak için geldiğinde
# create tablespace dbname location '/SAN/dbname';
# create database dbname tablespace dbname;
# alter database dbname set temp_tablespaces = dbname;
% gunzip dumpfile.gz # to evaluate restore time without a piped uncompression
% pg_restore -d dbname dumpfile # into a new, empty database defined above
Kültürsüz hissettim: geri 12 saat olacak ne sadece bir kısmı olan veritabanı oluşturmak için aldı:
# select pg_size_pretty(pg_database_size('dbname'));
47 GB
Bu veritabanı birkaç terabayt olacak tahminler var çünkü, şimdi performansını artırmak bakmak lazım.
Lütfen, aydınlat beni.
CEVAP
İlk disk Kur makul IO performansı aldığınızdan emin olun. Yükleme PostgreSQL sonra kontrol uygun şekilde ayarlanmıştır. Özellikle shared_buffers
olmalı düzgün, maintenance_work_mem
olmalı artmış sırasında geri yükleme full_page_writes
olmalı kapalı sırasında geri yükleme wal_buffers
olmalı artması için 16MB sırasında geri checkpoint_segments
olmalı artan bir şey gibi 16 sırasında geri bunu yapmamalıydın herhangi mantıksız oturum (oturum her deyimi), auto_vacuum
olmalıdır devre dışı sırasında geri yükleme.
Eğer geri yükleme ile paralel 8.4 ayrıca deney, ... ... işleri pg_restore için Seçenek.
Postgresql 9.2 pg_dump sürümü uyuşmazl...
Nasıl Eclipse performansını artırmak i...
Arabiriminin performansını artırmak iç...
Nasıl ayarı yanlış LinearLayout perfor...
Ne kadar büyük bir veri kümesi (angula...