İngilizceFransızcaİspanyolca

OnWorks favicon'u

pg_dump - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında pg_dump çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen pg_dump komutudur.

Program:

ADI


pg_dump - bir PostgreSQL veritabanını bir komut dosyasına veya başka bir arşiv dosyasına çıkarın

SİNOPSİS


pg_dump [bağlantı seçeneği...] [seçenek...] [veritabanı adı]

TANIM


pg_dump, bir PostgreSQL veritabanını yedeklemek için bir yardımcı programdır. Tutarlı yedeklemeler yapar
veritabanı aynı anda kullanılıyor olsa bile. pg_dump diğer kullanıcıları engellemez
veritabanına erişim (okuyucular veya yazarlar).

pg_dump yalnızca tek bir veritabanını atar. Herkes için ortak olan global nesneleri yedeklemek için
roller ve tablo alanları gibi bir kümedeki veritabanları, pg_dumpall(1).

Dökümler, komut dosyası veya arşiv dosyası biçimlerinde çıkarılabilir. Komut dosyası dökümleri düz metin dosyalarıdır
veritabanını bulunduğu duruma yeniden yapılandırmak için gereken SQL komutlarını içeren
kurtarıldığı zamandır. Böyle bir komut dosyasından geri yüklemek için besleyin psql'in(1). Komut dosyaları şunları yapabilir:
diğer makinelerde ve diğer mimarilerde bile veritabanını yeniden yapılandırmak için kullanılabilir; ile
diğer SQL veritabanı ürünlerinde bile bazı değişiklikler.

Alternatif arşiv dosyası formatları ile birlikte kullanılmalıdır. pg_restore(1) yeniden inşa etmek
veri tabanı. pg_restore'un neyin geri yükleneceği konusunda seçici olmasına ve hatta yeniden sıralanmasına izin verirler.
öğeler restore edilmeden önce. Arşiv dosyası biçimleri taşınabilir olacak şekilde tasarlanmıştır
mimariler arasında.

Arşiv dosyası biçimlerinden biriyle kullanıldığında ve pg_restore, pg_dump ile birleştirildiğinde
esnek bir arşivleme ve aktarım mekanizması sağlar. pg_dump bir yedeklemek için kullanılabilir
tüm veritabanı, ardından arşivi incelemek ve/veya hangisini seçmek için pg_restore kullanılabilir.
veritabanının bazı bölümleri geri yüklenecektir. En esnek çıktı dosyası biçimleri,
"özel" biçim (-Fc) ve “dizin” formatı(-Fd). Seçime izin verirler ve
arşivlenen tüm öğelerin yeniden sıralanması, paralel restorasyonu destekler ve tarafından sıkıştırılır.
varsayılan. "Dizin" biçimi, paralel dökümleri destekleyen tek biçimdir.

pg_dump çalıştırılırken, herhangi bir uyarı için çıktı incelenmelidir (standart
hatası), özellikle aşağıda listelenen sınırlamalar ışığında.

SEÇENEKLER


Aşağıdaki komut satırı seçenekleri, çıktının içeriğini ve biçimini kontrol eder.

veritabanı adı
Dökülecek veritabanının adını belirtir. Bu belirtilmemişse,
Çevre değişkeni PGVERİTABANI kullanıldı. Bu ayarlanmazsa, belirtilen kullanıcı adı
bağlantı için kullanılır.

-a
--yalnızca veri
Şemayı (veri tanımları) değil, yalnızca verileri boşaltın. Tablo verileri, büyük nesneler ve
sıra değerleri atılır.

Bu seçenek, aşağıdakilere benzer, ancak tarihsel nedenlerle aynı değildir:
--bölüm=veri.

-b
--bloblar
Dökümde büyük nesneleri dahil edin. Bu, aşağıdaki durumlar dışında varsayılan davranıştır: --şema,
--tabloya da --sadece şema belirtilir, bu nedenle -b anahtar yalnızca büyük eklemek için yararlıdır
nesneler seçici dökümlere.

-c
--temiz
Komutların çıktısını almadan önce veritabanı nesnelerini temizlemek (bırakmak) için çıktı komutları
onları yaratmak. (Meğer ki --eğer-varsa ayrıca belirtilirse, geri yükleme bazı
hedef veritabanında herhangi bir nesne yoksa zararsız hata mesajları.)

Bu seçenek yalnızca düz metin biçimi için anlamlıdır. Arşiv formatları için,
aradığınızda seçeneği belirtebilirsiniz pg_restore.

-C
--oluşturmak
Veritabanının kendisini oluşturmak ve veri tabanına yeniden bağlanmak için çıktıya bir komutla başlayın.
oluşturulan veritabanı. (Bu formun bir komut dosyası ile, hangi veritabanında olduğu önemli değildir.
Komut dosyasını çalıştırmadan önce bağlandığınız hedef kurulum.) --temiz aynı zamanda
belirtildiğinde, komut dosyası yeniden bağlanmadan önce hedef veritabanını bırakır ve yeniden oluşturur.
bunu.

Bu seçenek yalnızca düz metin biçimi için anlamlıdır. Arşiv formatları için,
aradığınızda seçeneği belirtebilirsiniz pg_restore.

-E kodlama
--kodlama=kodlama
Belirtilen karakter kümesi kodlamasında dökümü oluşturun. Varsayılan olarak, döküm
veritabanı kodlamasında oluşturuldu. (Aynı sonucu elde etmenin başka bir yolu da
PGCLİENTKODLAMA ortam değişkenini istenen döküm kodlamasına dönüştürün.)

-f dosya
--dosya=dosya
Çıktıyı belirtilen dosyaya gönderin. Bu parametre, dosya tabanlı çıktı için atlanabilir
formatlar, bu durumda standart çıktı kullanılır. Dizin için verilmelidir
ancak çıktı biçimi, burada bir dosya yerine hedef dizini belirtir. İçinde
bu durumda dizin tarafından oluşturulur pg_dump ve daha önce var olmamalıdır.

-F biçim
--format=biçim
Çıktının biçimini seçer. biçim aşağıdakilerden biri olabilir:

p
sade
Düz metin bir SQL komut dosyası çıktısı alın (varsayılan).

c
görenek
pg_restore'a giriş için uygun özel biçimli bir arşiv çıktısı alın. Birlikte
dizin çıktı formatı, bu en esnek çıktı formatıdır.
geri yükleme sırasında arşivlenmiş öğelerin manuel olarak seçilmesine ve yeniden sıralanmasına izin verir. Bu
biçimi de varsayılan olarak sıkıştırılır.

d
rehber
pg_restore'a giriş için uygun bir dizin biçimli arşiv çıktısı alın. Bu irade
her tablo ve blob için bir dosya içeren bir dizin oluşturun ve ayrıca bir
bir içindeki boşaltılan nesneleri açıklayan sözde İçindekiler dosyası
pg_restore'un okuyabileceği makine tarafından okunabilir biçim. Bir dizin formatı arşivi
standart Unix araçlarıyla manipüle edilebilir; örneğin, sıkıştırılmamış bir dosyadaki dosyalar
arşiv gzip aracıyla sıkıştırılabilir. Bu biçim varsayılan olarak sıkıştırılmıştır
ve ayrıca paralel dökümleri destekler.

t
katran
çıktı a katran-pg_restore'a giriş için uygun format arşivi. katran biçimi
dizin formatı ile uyumlu: tar formatlı bir arşivin çıkarılması,
geçerli dizin formatı arşivi. Ancak, tar biçimi desteklemiyor
sıkıştırma. Ayrıca, tar biçimini kullanırken tablo veri öğelerinin göreli sırası
geri yükleme sırasında değiştirilemez.

-j nişler
--işler=nişler
Dumping ile dökümü paralel olarak çalıştırın nişler tablolar aynı anda. Bu seçenek azaltır
dökümün zamanı değil, aynı zamanda veritabanı sunucusundaki yükü de arttırır. Yapabilirsiniz
bu seçeneği yalnızca dizin çıktı biçimiyle kullanın çünkü bu tek çıktıdır
birden fazla işlemin verilerini aynı anda yazabileceği format.

pg_dump açılacak nişler Veritabanına + 1 bağlantı olduğundan emin olun.
max_connections ayarı, tüm bağlantıları barındıracak kadar yüksek.

Paralel dökümü çalıştırırken veritabanı nesnelerinde özel kilitler istemek,
dökümün başarısız olmasına neden olur. Bunun nedeni, pg_dump ana işlem isteklerinin paylaşılmış olmasıdır.
çalışanın daha sonra atacağı nesnelere kilitlenir.
döküm çalışırken kimsenin onları silmediğinden ve ortadan kaldırmadığından emin olun.
Başka bir müşteri daha sonra bir masa üzerinde özel bir kilit isterse, bu kilit açılmayacaktır.
verildi ancak ana işlemin paylaşılan kilidinin onaylanması için kuyruğa alınacak
piyasaya sürülmüş. Sonuç olarak, tabloya başka bir erişim de verilmeyecektir ve
özel kilitleme isteğinden sonra sıraya girer. Bu, çalışan işlemin denenmesini içerir.
masayı boşaltmak için. Herhangi bir önlem olmadan bu, klasik bir kilitlenme durumu olacaktır.
Bu çakışmayı algılamak için, pg_dump çalışan işlemi şunu kullanarak başka bir paylaşılan kilit ister:
ŞİMDİ BEKLE seçeneği. Çalışan sürece bu paylaşılan kilit verilmezse, biri
else bu arada özel bir kilit talep etmiş olmalı ve bunun bir yolu yok
döküme devam edin, bu nedenle pg_dump'ın dökümü iptal etmekten başka seçeneği yoktur.

Tutarlı bir yedekleme için, veritabanı sunucusunun senkronize edilmiş anlık görüntüleri desteklemesi gerekir,
PostgreSQL 9.2'de tanıtılan bir özellik. Bu özellik sayesinde veritabanı istemcileri
farklı bağlantılar kullansalar bile aynı veri setini görmelerini sağlayabilir.
pg_dump -j birden çok veritabanı bağlantısı kullanır; veritabanına bir kez bağlanır
ana süreç ve her işçi işi için bir kez daha. Senkronize olmadan
anlık görüntü özelliği, farklı işçi işlerinin aynı şeyi görmeleri garanti edilmez.
her bağlantıda tutarsız bir yedeklemeye yol açabilecek veriler.

9.2 öncesi bir sunucunun paralel dökümünü çalıştırmak istiyorsanız,
veritabanı içeriği, master'ın bağlandığı zaman arasında değişmez
son işçi işi veritabanına bağlanana kadar veritabanı. en kolay yolu
bunu yapmak, veritabanına erişen herhangi bir veri değiştirme işlemini (DDL ve DML) durdurmaktır.
yedeklemeye başlamadan önce. Ayrıca belirtmeniz gerekir --no-senkronize edilmiş-anlık görüntüler
çalışırken parametre pg_dump -j 9.2 öncesi bir PostgreSQL sunucusuna karşı.

-n plan
--şema=plan
Yalnızca şema eşleşmesini boşalt plan; bu, hem şemanın kendisini hem de tüm
nesneler içeriyordu. Bu seçenek belirtilmediğinde, sistem dışı tüm şemalar
hedef veritabanı atılır. Birden fazla şema yazılarak birden çok şema seçilebilir
-n anahtarlar. Ayrıca plan parametresine göre bir model olarak yorumlanır.
psql'nin \d komutları tarafından kullanılan aynı kurallar (bkz. Modeller), bu nedenle birden çok şema da olabilir
desene joker karakterler yazılarak seçilir. Joker karakterler kullanırken,
kabuğun genişletmesini önlemek için gerekirse deseni alıntılamaya dikkat edin.
joker karakterler; ÖRNEKLER'e bakın.

not
Ne zaman -n belirtilirse, pg_dump diğer veritabanı nesnelerini boşaltmaya çalışmaz
seçilen şema(lar) buna bağlı olabilir. Bu nedenle garantisi yoktur
belirli bir şema dökümünün sonuçlarının başarıyla geri yüklenebileceğini
kendilerini temiz bir veritabanına

not
Bloblar gibi şema dışı nesneler, -n belirtilir. Ekleyebilirsin
ile çöplüğe geri döner --bloblar geçiş.

-N plan
--hariç tutma-şema=plan
Eşleşen şemaları dökmeyin. plan Desen. Desen yorumlanır
ile aynı kurallara göre -n. -N hariç tutmak için birden fazla verilebilir
birkaç modelden herhangi biriyle eşleşen şemalar.

her ikisi de -n ve -N verildiğinde, davranış yalnızca eşleşen şemaları atmaktır.
en az bir -n değiştir ama hayır -N anahtarlar. Eğer -N olmadan görünür -n, sonra şemalar
uygun -N aksi takdirde normal bir döküm olandan hariç tutulur.

-o
--oidler
Her tablo için verilerin bir parçası olarak nesne tanımlayıcılarını (OID'ler) boşaltın. Bu seçeneği aşağıdaki durumlarda kullanın:
uygulamanız bir şekilde OID sütunlarına başvuruyor (örneğin, bir yabancı anahtarda
kısıtlama). Aksi takdirde bu seçenek kullanılmamalıdır.

-O
--Sahipsiz
Nesnelerin sahipliğini orijinal veritabanıyla eşleşecek şekilde ayarlamak için komutlar çıkarmayın. Tarafından
varsayılan, pg_dump sorunları alter SAHİBİ or SET OTURUM, TOPLANTI, CELSE YETKİ ayarlanacak ifadeler
oluşturulan veritabanı nesnelerinin sahipliği. Komut dosyası olduğunda bu ifadeler başarısız olur
bir süper kullanıcı (veya tüm nesnelerin sahibi olan aynı kullanıcı) tarafından başlatılmadığı sürece çalıştır
senaryoda). Herhangi bir kullanıcı tarafından geri yüklenebilecek, ancak bunu verecek bir komut dosyası yapmak için
tüm nesnelerin kullanıcı sahipliğini belirtin -O.

Bu seçenek yalnızca düz metin biçimi için anlamlıdır. Arşiv formatları için,
aradığınızda seçeneği belirtebilirsiniz pg_restore.

-R
--no-yeniden bağlanma
Bu seçenek artık kullanılmamaktadır ancak geriye dönük uyumluluk için hala kabul edilmektedir.

-s
--sadece şema
Verileri değil, yalnızca nesne tanımlarını (şema) boşaltın.

Bu seçeneğin tersi --yalnızca veri. Buna benzer, ancak tarihsel olarak
nedenleriyle aynı değil, belirterek --section=ön veri --section=son veri.

(Bununla karıştırmayın --şema "şema" kelimesini kullanan seçenek
farklı anlam.)

Veritabanındaki tabloların yalnızca bir alt kümesi için tablo verilerini hariç tutmak için, bkz.
--hariç tutma-tablo-veri.

-S kullanıcı adı
--süper kullanıcı=kullanıcı adı
Tetikleyicileri devre dışı bırakırken kullanılacak süper kullanıcı adını belirtin. Bu sadece alakalı
if --disable-tetikleyiciler kullanıldı. (Genellikle, bunu dışarıda bırakmak daha iyidir ve bunun yerine
ortaya çıkan komut dosyasını süper kullanıcı olarak başlatın.)

-t tablo
--tablo=tablo
Yalnızca tabloları (veya görünümleri veya dizileri veya yabancı tabloları) eşleşen dökümü tablo. çoklu
tablolar birden fazla yazılarak seçilebilir -t anahtarlar. Ayrıca tablo parametre
psql'nin \d komutları tarafından kullanılan aynı kurallara göre bir kalıp olarak yorumlanır (bkz.
Desenler), böylece birden çok tablo, joker karakterler yazılarak da seçilebilir.
desen. Joker karakterler kullanırken, gerekirse kalıbı alıntılamaya dikkat edin.
kabuğun joker karakterleri genişletmesini önleyin; ÖRNEKLER'e bakın.

The -n ve -N anahtarların hiçbir etkisi yoktur -t tarafından seçilen tablolar nedeniyle kullanılır. -t
bu anahtarlardan bağımsız olarak atılır ve tablo dışı nesneler atılmaz.

not
Ne zaman -t belirtilirse, pg_dump diğer veritabanı nesnelerini boşaltmaya çalışmaz
seçilen tablonun/tabloların bağlı olabileceği. Bu nedenle garantisi yoktur
belirli bir tablo dökümünün sonuçlarının başarıyla geri yüklenebileceğini
kendilerini temiz bir veritabanına

not
Davranışı -t anahtar, 8.2 öncesi ile tamamen yukarı uyumlu değil
PostgreSQL sürümleri. Önceden, -t sekmesi yazmak, sekme adlı tüm tabloları atardı, ancak
şimdi sadece varsayılan arama yolunuzda hangisi görünüyorsa onu atıyor. Almak için
eski davranışı -t '*.tab' yazabilirsiniz. Ayrıca, -t gibi bir şey yazmalısınız.
sch.tab'ın eski konumu yerine belirli bir şemada bir tablo seçmek için
-n sch -t sekmesi.

-T tablo
--hariç tutma-tablo=tablo
Eşleşen tabloları dökmeyin tablo Desen. Desen yorumlanır
ile aynı kurallara göre -t. -T hariç tutmak için birden fazla verilebilir
birkaç desenden herhangi biriyle eşleşen tablolar.

her ikisi de -t ve -T verildiğinde, davranış yalnızca eşleşen tabloları atmaktır.
en az bir -t değiştir ama hayır -T anahtarlar. Eğer -T olmadan görünür -t, ardından eşleşen tablolar
-T aksi takdirde normal bir döküm olandan hariç tutulur.

-v
--ayrıntılı
Ayrıntılı modu belirtir. Bu, pg_dump'ın ayrıntılı nesne yorumları vermesine ve
döküm dosyasına başlama/durdurma süreleri ve standart hataya ilerleme mesajları.

-V
--versiyon
pg_dump sürümünü yazdırın ve çıkın.

-x
--ayrıcalık yok
--yok-acl
Erişim ayrıcalıklarının boşaltılmasını önleyin (verme/iptal etme komutları).

-Z 0 9 ..
--sıkıştır=0 9 ..
Kullanılacak sıkıştırma düzeyini belirtin. Sıfır, sıkıştırma olmadığı anlamına gelir. özel için
arşiv formatı, bu, bireysel tablo veri bölümlerinin sıkıştırılmasını belirtir ve
varsayılan, orta düzeyde sıkıştırmaktır. Düz metin çıktısı için sıfırdan farklı bir değer ayarlama
sıkıştırma seviyesi, çıktı dosyasının tamamının sıkıştırılmış gibi olmasına neden olur.
gzip aracılığıyla beslenmiştir; ancak varsayılan sıkıştırmak değildir. tar arşiv formatı
şu anda sıkıştırmayı hiç desteklemiyor.

--ikili-yükseltme
Bu seçenek, yerinde yükseltme yardımcı programları tarafından kullanım içindir. Başka amaçlar için kullanımı,
tavsiye edilmez veya desteklenmez. Seçeneğin davranışı gelecekteki sürümlerde değişebilir
haber verilmeksizin

--sütun-insertler
--öznitelik-insertler
Verileri şu şekilde boşalt: INSERT açık sütun adlarına sahip komutlar (INSERT INTO tablo (sütun,
...) DEĞERLER ...). Bu, geri yüklemeyi çok yavaşlatacaktır; esas olarak yapmak için yararlıdır
PostgreSQL olmayan veritabanlarına yüklenebilen dökümler. Ancak bu seçenek nedeniyle
her satır için ayrı bir komut oluşturur, bir satırı yeniden yüklerken bir hata yalnızca neden olur
tüm tablo içeriği yerine bu satırın kaybolması.

--disable-dolar-teklif
Bu seçenek, fonksiyon gövdeleri için dolar alıntısının kullanımını devre dışı bırakır ve onları
SQL standart dize sözdizimi kullanılarak alıntı yapılabilir.

--disable-tetikleyiciler
Bu seçenek yalnızca salt veri dökümü oluşturulurken geçerlidir. pg_dump'a talimat verir
veriler çalışırken hedef tablolardaki tetikleyicileri geçici olarak devre dışı bırakmak için komutlar içerir.
yeniden yüklenir. Bilgi bütünlüğü kontrolleriniz veya diğer tetikleyicileriniz varsa bunu kullanın.
veri yeniden yükleme sırasında çağırmak istemediğiniz tablolar.

Şu anda, için yayınlanan komutlar --disable-tetikleyiciler süper kullanıcı olarak yapılmalıdır. Yani,
ile bir süper kullanıcı adı da belirtmelisiniz. -Sveya tercihen başlamak için dikkatli olun
bir süper kullanıcı olarak ortaya çıkan komut dosyası.

Bu seçenek yalnızca düz metin biçimi için anlamlıdır. Arşiv formatları için,
aradığınızda seçeneği belirtebilirsiniz pg_restore.

--enable-satır-güvenlik
Bu seçenek yalnızca satır içeren bir tablonun içeriğini boşaltırken geçerlidir.
güvenlik. Varsayılan olarak pg_dump, tüm verilerin doğru olduğundan emin olmak için row_security'yi kapalı olarak ayarlar.
masadan atıldı. Kullanıcının satırı atlamak için yeterli ayrıcalığı yoksa
güvenlik, ardından bir hata atılır. Bu parametre, pg_dump'a ayarlanması talimatını verir.
bunun yerine row_security açık olarak ayarlanır ve kullanıcının içeriğin parçalarını boşaltmasına izin verir.
erişebilecekleri tablo.

--exclude-table-data=tablo
Eşleşen herhangi bir tablo için veri dökümü yapmayın. tablo Desen. Desen yorumlanır
ile aynı kurallara göre -t. --hariç tutma-tablo-veri fazla verilebilir
birkaç modelden herhangi biriyle eşleşen tabloları hariç tutmak için bir kez. Bu seçenek şu durumlarda kullanışlıdır:
içindeki verilere ihtiyacınız olmasa bile belirli bir tablonun tanımına ihtiyacınız var.
bunu.

Veritabanındaki tüm tabloların verilerini hariç tutmak için, bkz. --sadece şema.

--eğer-varsa
Veritabanını temizlerken koşullu komutları kullanın (yani bir IF EXISTS yan tümcesi ekleyin)
nesneler. Bu seçenek geçerli değildir --temiz da belirtilir.

--insertler
Verileri şu şekilde boşalt: INSERT komutları (yerine KOPYALA). Bu, geri yüklemeyi çok yavaşlatacaktır;
esas olarak PostgreSQL olmayan veritabanlarına yüklenebilen dökümler yapmak için kullanışlıdır.
Ancak bu seçenek her satır için ayrı bir komut oluşturduğundan,
bir satırı yeniden yüklemek, tüm tablo içeriği yerine yalnızca o satırın kaybolmasına neden olur.
Sütun sırasını yeniden düzenlediyseniz, geri yüklemenin tamamen başarısız olabileceğini unutmayın. NS
--sütun-insertler seçeneği, daha yavaş olsa da, sütun sırası değişikliklerine karşı güvenlidir.

--lock-wait-zaman aşımı=zaman aşımı
Dökümün başında paylaşılan masa kilitlerini almak için sonsuza kadar beklemeyin.
Bunun yerine, belirtilen süre içinde bir tablo kilitlenemiyorsa başarısız olur. zaman aşımı. zaman aşımı olabilir
tarafından kabul edilen formatlardan herhangi birinde belirtilmelidir. SET deyim_zaman aşımı. (İzin verilen değerler
dökümü yaptığınız sunucu sürümüne bağlı olarak değişir, ancak bir tamsayı
milisaniye, 7.3'ten beri tüm sürümler tarafından kabul edilir. Bu seçenek şu durumlarda yoksayılır:
7.3 öncesi bir sunucudan boşaltma.)

--no-güvenlik-etiketleri
Güvenlik etiketlerini atmayın.

--no-senkronize edilmiş-anlık görüntüler
Bu seçenek çalıştırmaya izin verir pg_dump -j 9.2 öncesi bir sunucuya karşı, belgelere bakın
arasında -j Daha fazla ayrıntı için parametre.

--tablo alanı yok
Tablo alanlarını seçmek için komutlar vermeyin. Bu seçenek ile tüm nesneler
geri yükleme sırasında varsayılan olan tablo alanında oluşturulur.

Bu seçenek yalnızca düz metin biçimi için anlamlıdır. Arşiv formatları için,
aradığınızda seçeneği belirtebilirsiniz pg_restore.

--no-loglenmemiş-tablo-verisi
Günlüğe kaydedilmemiş tabloların içeriğini atmayın. Bu seçeneğin olup olmadığı üzerinde hiçbir etkisi yoktur.
tablo tanımları (şema) atılmaz; sadece tablonun boşaltılmasını bastırır
veri. Bekleme sunucusundan döküm yapılırken, günlüğe kaydedilmemiş tablolardaki veriler her zaman hariç tutulur.

--quote-all-tanımlayıcılar
Tüm tanımlayıcılardan alıntı yapmaya zorla. Bu, bir veritabanı dökümü yaparken faydalı olabilir.
ek anahtar kelimeler sunmuş olabilecek gelecekteki bir sürüme geçiş.

--bölüm=Bölüm adı
Yalnızca adlandırılmış bölümü boşaltın. bölüm adı olabilir ön veri, veriya da veri sonrası.
Bu seçenek birden fazla bölüm seçmek için birden fazla belirtilebilir. Varsayılan
tüm bölümleri atmaktır.

Veri bölümü, gerçek tablo verilerini, büyük nesne içeriklerini ve sırayı içerir.
değerler. Veri sonrası öğeler, dizinlerin, tetikleyicilerin, kuralların ve
Doğrulanmış kontrol kısıtlamaları dışındaki kısıtlamalar. Ön veri öğeleri diğer tüm öğeleri içerir
veri tanımlama öğeleri.

--serileştirilebilir-ertelenebilir
Kullanılan anlık görüntünün doğru olduğundan emin olmak için döküm için seri hale getirilebilir bir işlem kullanın.
sonraki veritabanı durumları ile tutarlı; ancak bunu bir noktayı bekleyerek yapın.
Herhangi bir anormalliğin mevcut olamayacağı işlem akışı, böylece bir risk oluşmaz.
dökümün başarısız olması veya diğer işlemlerin geri alınmasına neden olması
serialization_failure. belgelerinde Bölüm 13, Eşzamanlılık Kontrolü'ne bakın.
işlem yalıtımı ve eşzamanlılık denetimi hakkında daha fazla bilgi.

Bu seçenek, yalnızca olağanüstü durum kurtarma amaçlı bir döküm için faydalı değildir.
Raporlama için veritabanının bir kopyasını yüklemek için kullanılan bir döküm için yararlı olabilir veya
orijinal veritabanı güncellenmeye devam ederken diğer salt okunur yük paylaşımı.
Onsuz döküm, herhangi bir seri ile tutarlı olmayan bir durumu yansıtabilir.
sonunda taahhüt edilen işlemlerin yürütülmesi. Örneğin, toplu işleme
teknikler kullanıldığında, bir parti, tüm kalemler olmadan çöplükte kapalı olarak görünebilir.
görünen partide olan.

Etkin okuma-yazma işlemi yoksa bu seçenek hiçbir fark yaratmaz.
pg_dump başlatıldığında. Okuma-yazma işlemleri aktif ise dökümün başlaması
belirsiz bir süre için ertelenebilir. Bir kez çalıştırıldığında, performans veya
anahtarı olmadan aynıdır.

--anlık görüntü=anlık görüntü adı
Veritabanının dökümünü yaparken belirtilen senkronize edilmiş anlık görüntüyü kullanın (bkz.
Daha fazla ayrıntı için Tablo 9.71, “Anlık Görüntü Senkronizasyon İşlevleri”).

Bu seçenek, dökümü mantıksal bir çoğaltma ile senkronize etmeniz gerektiğinde kullanışlıdır.
yuva (belgelerde Bölüm 46, Mantıksal Kod Çözme bölümüne bakın) veya eşzamanlı
oturum, toplantı, celse.

Paralel döküm durumunda, bu seçenek tarafından tanımlanan anlık görüntü adı kullanılır
yeni bir anlık görüntü almak yerine.

--use-set-session-yetkilendirme
Çıkış SQL standardı SET OTURUM, TOPLANTI, CELSE YETKİ yerine komutlar alter SAHİBİ komutlar
nesne sahipliğini belirlemek için. Bu, dökümü daha standartlarla uyumlu hale getirir, ancak
dökümdeki nesnelerin geçmişine bağlı olarak, düzgün bir şekilde geri yüklenmeyebilir. Ayrıca,
kullanarak bir dökümü SET OTURUM, TOPLANTI, CELSE YETKİ kesinlikle süper kullanıcı ayrıcalıkları gerektirecektir
doğru şekilde geri yükle, oysa alter SAHİBİ daha az ayrıcalık gerektirir.

-?
--yardım et
pg_dump komut satırı argümanları hakkında yardım gösterin ve çıkın.

Aşağıdaki komut satırı seçenekleri, veritabanı bağlantı parametrelerini kontrol eder.

-d veritabanı adı
--dbname=veritabanı adı
Bağlanılacak veritabanının adını belirtir. Bu, belirtmekle eşdeğerdir
veritabanı adı komut satırındaki ilk seçenek olmayan argüman olarak.

Bu parametre bir = işareti içeriyorsa veya geçerli bir URI önekiyle başlıyorsa (postgresql://
veya postgres://), bir bilgi sicim. Bkz. Bölüm 31.1, “Veritabanı
Bağlantı Kontrol İşlevleri”, daha fazla bilgi için belgelerde.

-h ev sahibi
--ana bilgisayar=ev sahibi
Sunucunun üzerinde çalıştığı makinenin ana bilgisayar adını belirtir. eğer değer
eğik çizgi ile başlar, Unix etki alanı soketi için dizin olarak kullanılır. NS
varsayılan alınır PGHOST ortam değişkeni, ayarlanmışsa, aksi takdirde bir Unix etki alanı
soket bağlantısı denendi.

-p Liman
--port=Liman
Sunucunun üzerinde bulunduğu TCP bağlantı noktasını veya yerel Unix etki alanı soket dosya uzantısını belirtir.
bağlantıları dinliyor. Varsayılanlar PGPORT ayarlanmışsa ortam değişkeni veya
derlenmiş bir varsayılan.

-U kullanıcı adı
--kullanıcıadı=kullanıcı adı
Olarak bağlanılacak kullanıcı adı.

-w
--şifre yok
Asla bir parola istemi vermeyin. Sunucu parola doğrulaması gerektiriyorsa ve bir
şifre, .pgpass dosyası, bağlantı gibi başka yollarla kullanılamaz
girişimi başarısız olacaktır. Bu seçenek, toplu işlerde ve hiçbir kullanıcının olmadığı komut dosyalarında yararlı olabilir.
bir şifre girmek için mevcuttur.

-W
--parola
Bir veritabanına bağlanmadan önce pg_dump'ı parola istemeye zorlayın.

Bu seçenek hiçbir zaman gerekli değildir, çünkü pg_dump otomatik olarak bir parola ister
sunucu parola doğrulaması talep ederse. Ancak, pg_dump bir
bağlantı, sunucunun bir parola istediğini bulmaya çalışır. Bazı durumlarda
yazmaya değer -W ekstra bağlantı girişimini önlemek için.

--rol=rol ismi
Dökümü oluşturmak için kullanılacak bir rol adı belirtir. Bu seçenek, pg_dump'ın
bir sorun SET ROL rol ismi veritabanına bağlandıktan sonra komut. ne zaman yararlıdır
kimliği doğrulanmış kullanıcı (belirtilen -U) pg_dump tarafından ihtiyaç duyulan ayrıcalıklardan yoksundur, ancak
gerekli haklara sahip bir role geçiş yapın. Bazı kurulumların karşı bir politikası vardır.
doğrudan bir süper kullanıcı olarak oturum açın ve bu seçeneğin kullanılması dökümlerin yapılmasına izin verir
politikayı ihlal etmeden.

ÇEVRE


PGVERİTABANI
PGHOST
SEÇENEKLER
PGPORT
PGUSER
Varsayılan bağlantı parametreleri.

Bu yardımcı program, diğer PostgreSQL yardımcı programlarının çoğu gibi, ortam değişkenlerini de kullanır.
libpq tarafından desteklenir (belgelerde Bölüm 31.14, “Ortam Değişkenleri”ne bakın).

TANI


pg_dump dahili olarak yürütülür SEÇİN ifadeler. pg_dump'ı çalıştırırken sorun yaşıyorsanız,
örneğin kullanarak veritabanından bilgi seçebildiğinizden emin olun, psql'in(1).
Ayrıca, libpq tarafından kullanılan tüm varsayılan bağlantı ayarları ve ortam değişkenleri
ön uç kitaplığı geçerli olacaktır.

pg_dump'ın veritabanı etkinliği normalde istatistik toplayıcı tarafından toplanır. Eğer
bu istenmeyen bir durumdur, parametreyi ayarlayabilirsiniz. track_counts yoluyla yanlış yapmak SEÇENEKLER ya da
ALTER KULLANICI komutu.

NOTLAR


Veritabanı kümenizin template1 veritabanına yerel eklemeleri varsa,
pg_dump çıktısını gerçekten boş bir veritabanına geri yükleyin; yoksa alma ihtimalin var
eklenen nesnelerin yinelenen tanımlarından kaynaklanan hatalar. Boş bir veritabanı yapmak için
herhangi bir yerel ekleme olmadan, şablon0'den değil şablon1'dan kopyalayın, örneğin:

TEMPLATE template0 İLE VERİTABANI foo OLUŞTURUN;

Yalnızca veri dökümü seçildiğinde ve seçenek --disable-tetikleyiciler kullanılır, pg_dump yayar
verileri eklemeden önce kullanıcı tablolarında tetikleyicileri devre dışı bırakma komutları ve ardından komutlar
Veriler eklendikten sonra bunları yeniden etkinleştirmek için. Geri yükleme durdurulursa
ortada, sistem katalogları yanlış durumda bırakılmış olabilir.

pg_dump tarafından üretilen döküm dosyası, optimize edici tarafından kullanılan istatistikleri içermez.
Sorgu planlama kararları verin. Bu nedenle, koşmak akıllıca ANALİZ a'dan geri yükledikten sonra
optimum performansı sağlamak için döküm dosyası; bkz. Bölüm 23.1.3, “Planlayıcının Güncellenmesi
İstatistikler”, belgelerde ve Bölüm 23.1.6, “The Autovacuum Daemon”,
daha fazla bilgi için belgeler. Döküm dosyası ayrıca herhangi bir şey içermiyor alter VERİTABANI
Kendi ID’n ile mağazalarını oluştur SET komutlar; bu ayarlar tarafından atılır pg_dumpall(1), veritabanı kullanıcıları ile birlikte
ve diğer kurulum çapında ayarlar.

PostgreSQL'in daha yeni sürümlerine veri aktarmak için pg_dump kullanıldığından, çıktısı
pg_dump'ın, pg_dump'tan daha yeni olan PostgreSQL sunucu sürümlerine yüklenmesi beklenebilir
sürüm. pg_dump ayrıca kendi sürümünden daha eski olan PostgreSQL sunucularından da döküm yapabilir.
(Şu anda, sürüm 7.0'a kadar olan sunucular desteklenmektedir.) Ancak, pg_dump,
Kendi ana sürümünden daha yeni olan PostgreSQL sunucuları; daha doğrusu denemeyi bile reddedecek
geçersiz bir döküm yapma riskinden daha iyidir. Ayrıca, pg_dump'ın çıktısının olabileceği garanti edilmez.
eski bir ana sürümün sunucusuna yüklendi - dökümü bir sunucudan alınmış olsa bile
bu sürümün sunucusu. Eski bir sunucuya bir döküm dosyası yüklemek, manuel gerektirebilir
eski sunucu tarafından anlaşılmayan sözdizimini kaldırmak için döküm dosyasının düzenlenmesi.

ÖRNEKLER


mydb adlı bir veritabanını bir SQL komut dosyasına dökmek için:

$ pg_dump mydb > db.sql

Böyle bir betiği newdb adlı (yeni oluşturulmuş) bir veritabanına yeniden yüklemek için:

$ psql'in -d yenidb -f db.sql

Bir veritabanını özel biçimli bir arşiv dosyasına dökmek için:

$ pg_dump -Fc mydb > db dökümü

Bir veritabanını dizin formatındaki bir arşive atmak için:

$ pg_dump -Fd mydb -f çöplük

5 işçi işine paralel olarak bir veritabanını dizin formatındaki bir arşive dökmek için:

$ pg_dump -Fd mydb -j 5 -f çöplük

Bir arşiv dosyasını newdb adlı (yeni oluşturulmuş) bir veritabanına yeniden yüklemek için:

$ pg_restore -d yenidb db dökümü

mytab adlı tek bir tabloyu boşaltmak için:

$ pg_dump -t sekmem mydb > db.sql

Tablo dışındaki isimleri detroit şemasında emp ile başlayan tüm tabloları dökümü için
adlı çalışan_log:

$ pg_dump -t 'detroit.emp*' -T detroit.employee_log mydb > db.sql

İsimleri doğu veya batı ile başlayıp gsm ile biten tüm şemaları, herhangi bir
adları test kelimesini içeren şemalar:

$ pg_dump -n 'doğu*gsm' -n 'batı*gsm' -N '*Ölçek*' mydb > db.sql

Aynısı, anahtarları birleştirmek için normal ifade gösterimini kullanarak:

$ pg_dump -n '(doğu|batı)*gsm' -N '*Ölçek*' mydb > db.sql

Adları ts_ ile başlayan tablolar dışındaki tüm veritabanı nesnelerini boşaltmak için:

$ pg_dump -T 'ts_*' mydb > db.sql

Büyük harf veya karışık harf adı belirtmek için -t ve ilgili anahtarlar, yapmanız gerekir
adı çift alıntı yapın; aksi takdirde küçük harfe katlanır (bkz. Desenler). ama çift
alıntılar kabuğa özeldir, bu nedenle sırayla alıntılanmaları gerekir. Böylece tek bir dökümü
karışık durum adına sahip tablo, şöyle bir şeye ihtiyacınız var

$ pg_dump -t "\"Karışık VakaAdı\"" mydb > mytab.sql

onworks.net hizmetlerini kullanarak çevrimiçi olarak pg_dump kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad