Güncelleme: Bu konuyu AWS forumlarına gönderdim - lütfen buraya girin ve orada isteyin .
Yazma sırasında, Amazon RDS, RDS dışında fiziksel çoğaltmayı desteklemez. Bir oturum açma kullanarak GRANT
kullanıcıları REPLICATION
doğru yapabilirsiniz rds_superuser
, ancak replication
içindeki dış IP'ler için girişleri yapılandıramazsınız pg_hba.conf
.
Eğer RDS bir DB parametre grubu oluşturduğunuzda Dahası, bazı temel parametreler, örneğin gösterildiği ancak kilitli archive_command
, kilitli olan /etc/rds/dbbin/pgscripts/rds_wal_archive %p
. PostgreSQL için AWS RDS bu WAL'leri harici PITR için WAL sevkiyatı çoğaltması kullanmanız gerekeceğinden harici erişim için (örneğin, S3 aracılığıyla) göstermiyor gibi görünüyor.
Bu noktada, eğer wal-shipping istiyorsanız, RDS kullanmayın. Bu, kullanımı kolay bir veritabanıdır, ancak kullanımı kolay, genellikle sınırlı olduğu anlamına gelir ve burada da durum böyledir. Joe Love yorumlarda belirtildiği gibi, RDS içinde WAL nakliye ve PITR sağlar , ancak WDS'ye RDS dışından erişemezsiniz .
Bu nedenle, RDS'nin kendi yedekleme olanaklarını kullanmanız gerekir - dökümler, anlık görüntüler ve kendi WAL tabanlı PITR.
RDS, çoğaltma bağlantıları yapmanıza (çoğaltma için pg_basebackup
veya çoğaltma için) izin vermiş ve arşivlenmiş WAL'a erişmenize izin verse bile , bu WAL'yi gerçekten kullanamayabilirsiniz. RDS yamalanmış bir PostgreSQL çalıştırır, ancak hiç kimse ne kadar çok yama uyguladığını veya disk üzerindeki formatı önemli ölçüde değiştirip değiştirmediğini bilmez. Ayrıca, muhtemelen x64 Linux olan ama kolayca belirlenemeyen Amazon tarafından seçilen mimaride de çalışır. PostgreSQL'in disk formatı ve çoğaltması mimariye bağımlı olduğundan, yalnızca Amazon RDS tarafından kullanılan mimariyle aynı ana bilgisayarlara ve yalnızca PostgreSQL derlemeniz onlarınkiyle uyumluysa çoğaltabilirsiniz.
Diğer şeylerin yanı sıra bu, RDS'den uzaklaşmanın kolay bir yolunun olmadığı anlamına gelir. Veritabanındaki tüm yazmaları, alacak pg_dump
, geri yükleyecek ve yeni DB'yi çalıştıracak kadar uzun süre durdurmanız gerekir . DB ana bilgisayarına doğrudan erişiminiz olmadığı için çoğaltma ve yük devretme, rsync vb. İle olağan hileler çalışmaz.
RDS, işlenmemiş bir PostgreSQL çalıştırsa bile, Amazon pg_basebackup
, güvenlik nedenleriyle RAL'a WAL akışı yapmanıza veya RDS'ye aktarmanıza izin vermek istemeyebilir . PostgreSQL, veri dizinini güvenilir içerik olarak görür ve dahili işlevselliği bağlayan veya zor bir şey yapan akıllı bir 'LANGUAGE c' işlevi hazırladıysanız, olması gerekenden daha fazla erişim elde etmek için sunucudan yararlanabilirsiniz. . Dolayısıyla Amazon yakında WAL'a izin vermeyecek.
Giden WAL göndermeyi destekleyebilirler, ancak biçim uyumluluğu, değişiklik yapma özgürlüğü vb. İle ilgili yukarıdaki sorunlar hala geçerlidir.
Bunun yerine Londiste veya Bucardo gibi bir araç kullanmalısınız.