Dijital okyanusta çalışan bir Django postgres db (v9.3.10) var ve bunu Amazon RDS'ye aktarmaya çalışıyorum (postgres v 9.4.5). RDS, 300 GB'lık bir db.m3.xlarge örneğidir. Birlikte Dijital Okyanus db terk ettim:Gönderi gönderileri RDS'ye dökülüyor
sudo -u postgres pg_dump -Fc -o -f /home/<user>/db.sql <dbname>
Ve şimdi onu içinde taşımayı çalışıyorum:
pg_restore -h <RDS endpoint> --clean -Fc -v -d <dbname> -U <RDS master user> /home/<user>/db.sql
gördüğüm tek hatadır:
pg_restore: [archiver (db)] Error from TOC entry 2516; 0 0 COMMENT EXTENSION plpgsql
pg_restore: [archiver (db)] could not execute query: ERROR: must be owner of extension plpgsql
Command was: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
Bunun dışında her şey iyi gidiyor gibi görünüyor ve sonra sadece bir durma için biler. Döküm dosyası ~ 550MB'tır ve çok sayıda indeksi olan birkaç tablo vardır, aksi takdirde oldukça standarttır.
AWS arabirimindeki Okuma ve Yazma IOPS, CPU'nun, belleğin ve depolama biriminin olduğu gibi 0'a yakındır. AWS için çok yeni ve parametre gruplarının bunu daha iyi yapmak için ince ayarlara ihtiyaç duyabileceğini biliyorum. Birisi, Django db'yi RDS'ye geçirmenin daha iyi bir yolu olabilir mi? Bu yüzden görünmüyor
Role Name Attr Member Of
<user> Create role, Create DB {rds_superuser}
rds_superuser Cannot login {}
rdsadmin ... ...
: DO db benziyor db kullanıcıları baktığımızda
:
Düzenleme
gibiRole Name Attr Member Of
<user> Superuser {}
postgres Superuser, Create role, Create DB, Replication {}
Ve RDS biri bakar < kullanıcı> gibi bir izin sorunu gibi, her durumda süper kullanıcı izinlerine sahip. Herkes seyir için
Çözüm:
Bu geri yükleme mekanizmasını ancak yalnızca bir yorumdur verilen/güvenilir bir yedekleme için ideal değilcat <db.sql> | sed -e '/^COMMENT ON EXTENSION plpgsql IS/d' > edited.dump
psql -h <RDS endpoint> -U <user> -e <dname> < edited.dump
Elimden tahmin:
Sonunda bu kullanarak çalışma var sız yapmak. Diğer tek gözlemim, uzak bir bilgisayara psql/pg_restore çalıştırmanın yavaş olmasıdır. Umarım yeni database migration service bir şey ekleyecektir.
Şimdi aynı postgres sürümünü kullanmak için RDS'yi değiştirdim ama yine de şans yok!Ben de çalışmazsa da psql ile olmayan bir özel biçim dökümünde boru denemeye çalıştım. Lütfen yardım et! –