9.4.4 sunucuya 9.5 beta 2 bazı tablolar dökümü çalışıyorum. Kullandığım komutun biçimi oldukça standarttır:
pg_dump -t table dbname | psql -h hostname -d dbname
Muhtemelen ideal olmadığını anlıyorum Postgres kullanıcısı kullanıyorum, ama bu ikisi de sadece kullandığım dev veri işleme kutuları ve takip eden hata ile ilgilidir. Başlangıçta hatayı aldım
HATA: tanınmayan yapılandırma parametresi "row_security"
Bu özellik 9.5'te yeni olduğu için bekleniyor ve evet, farklı Postgres sürümleri arasında pg_dump'ın tavsiye edilmediğinin farkındayım, ancak çok belirsiz bir hataya çarptığım ve büyük bir taşımaya ihtiyacım olduğu için ne yazık ki kaçınılmaz. statik veri miktarı.
Bu nedenle, row_security hatasını kaldırmak için bu iğrenç hack'i kullanmak ve ilk hatada durmayı açmak:
pg_dump -t tablemame dbname |sed 's/SET row_security = off;//'|
psql -v ON_ERROR_STOP=1 -h hostname -d dbname
Şimdi anladım:
HATA: "pg_catalog.tablename" oluşturma izni reddedildi DETAY: Sistem kataloğu değişikliklerine şu anda izin verilmiyor
Postgres kullanıcısını / rolünü kullanmak istenmeyebilse de, benim anlayışım, bu nitelikteki izin sorunlarının olmaması gerektiğidir. Bunun tek seferlik bir işlem olduğunu ve bunların herhangi bir canlı hizmete bağlı olmayan veri işleme dev kutuları olduğunu akla getiren tüm önerilere açıkım, bu nedenle ideal kurumsal veri erişim politikalarına göre tercih edilir. Bunu söyledikten sonra, bunu nasıl düzgün bir şekilde yapacağınızı anlamak ve gelecekte bundan kaçınmak iyi olacaktır.