pgloader - Bulutta Çevrimiçi

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 komut pgloader'dır.

Program:

ADI


pg yükleyici - PostgreSQL veri yükleyici

SİNOPSİS


yükleyici [ ] [ ]...
yükleyici [ ] KAYNAK HEDEF

TANIM


pgloader, çeşitli kaynaklardan gelen verileri PostgreSQL'e yükler. Verileri dönüştürebilir
anında okur ve yüklemeden önce ve sonra ham SQL'i gönderir. kullanır KOPYALA
Verileri sunucuya aktarmak için PostgreSQL protokolü ve bir dosya doldurarak hataları yönetir.
Bir çift reddet.dat ve reddet.log dosyaları.

pgloader, dosyalardan okunan komutları kullanarak çalışır:

pgloader komutları.load

veya tümü komut satırında sağlanan argümanları ve seçenekleri kullanarak:

pgloader KAYNAK HEDEFİ

ARGÜMANLAR


pgloader argümanları, gerektiği kadar yükleme dosyası veya birkaç bağlantı olabilir.
belirli bir girdi dosyasına dizeler.

KAYNAK BAĞLANTI STRING
Kaynak bağlantı dizesi biçimi aşağıdaki gibidir:

format:///mutlak/yol/to/file.ext
format://./relative/path/to/file.ext

Formatın şunlardan biri olabileceği yerler csv, sabit, kopya, dbf, db3 or ixf.

db://kullanıcı:şifre@anasistem:bağlantı noktası/veritabanı adı

db nerede olabilir sqlite, mysql or MSSQL.

Dosya tabanlı bir kaynak biçimi kullanırken, pgloader dosyayı yerel olarak getirmeyi de destekler.
bir http konumundan ve gerekirse bir arşivin sıkıştırılmasından. Bu durumda gerekli
kullanmak --tip dosyanın beklenen biçimini belirtme seçeneği. Örneklere bakın
altında.

Ayrıca, bazı dosya biçimlerinin aşağıdakiler gibi bazı uygulama ayrıntılarının açıklanmasını gerektirdiğini unutmayın.
csv'den yüklenirken okunacak sütunlar ve sınırlayıcılar ve alıntılar.

Daha karmaşık yükleme senaryoları için, tam teşekküllü bir yükleme komutu yazmanız gerekecek.
bu belgede daha sonra açıklanan sözdizimi.

HEDEF BAĞLANTI STRING
Hedef bağlantı dizesi biçimi bu belgede daha sonra ayrıntılı olarak açıklanmıştır, bkz.
Bölüm Bağlantı Dizisi.

SEÇENEKLER


SORGULAMA SEÇENEKLER
Nasıl kullanılacağı hakkında daha fazla bilgi edinmek istediğinizde bu seçenekleri kullanın. pg yükleyici, bu seçenekler olarak
sebep olacak pg yükleyici herhangi bir veri yüklememek için.

-h, --yardım et
Komut kullanım özetini göster ve çık.

-V, --versiyon
pgloader sürüm dizesini göster ve çık.

-E, --list-kodlamalar
pgloader'ın bu sürümündeki bilinen kodlamaları listeleyin.

-U, --yükseltme-yapılandırma
Komut satırında verilen dosyaları şu şekilde ayrıştırın: pgloader.conf ile dosyalar BU sözdizimi
pgloader sürüm 2.x'te kullanılıyordu ve yeni komut sözdizimini çıktı olarak
standart çıktıda pgloader.

GENEL SEÇENEKLER
Bu seçenekler ince ayar yapmak içindir pg yükleyici veri yüklerken davranış.

-v, --ayrıntılı
Ayrıntılı olun.

-q, --sessizlik
Sessiz ol.

-d, - hata ayıklama
Hata ayıklama düzeyi bilgi mesajlarını göster.

-D, --root-dir
Kök çalışma dizinini ayarlayın (varsayılan olarak "/tmp/pgloader").

-L, --log dosyası
pgloader günlük dosyasını ayarlayın (varsayılan olarak "/tmp/pgloader.log").

--log-min-mesajları
Günlük mesajının günlük dosyasına ulaşması için gereken minimum ayrıntı düzeyi. Biri
kritik, günlük, hata, uyarı, bildirim, bilgi veya hata ayıklama.

--client-min-mesajları
Günlük mesajının konsola ulaşması için gereken minimum ayrıntı düzeyi. Biri
kritik, günlük, hata, uyarı, bildirim, bilgi veya hata ayıklama.

-S, --Özet
Özet çıktısının kopyalanacağı dosya adı. Göreceli olduğunda, dosya adı
genişletilmiş *kök-dir*.

Dosya adının biçimi varsayılan olarak şu şekildedir: insan okunabilir. sahip olmak mümkün
çıktı gibi makine dostu formatlarda CSV, KOPYALA (PostgreSQL'in kendi KOPYALAMASI
biçimi) veya JSON uzantılı bir dosya adı belirterek. . Csv, .kopya or
.json.

-l , --load-lisp-dosyası
Bir peltek belirtin dosya okumadan önce pgloader görüntüsünü derlemek ve yüklemek için
komutlar, ekstra dönüşüm işlevi tanımlamaya izin verir. Bu işlevler
içinde tanımlanmak pgloader.dönüşümler paket. Bu seçenek şundan daha fazla görünebilir:
komut satırında bir kez.

--kendini yükseltme :

Bir rehber pgloader kaynakları nerede bulunur, böylece ilk kaynaklardan biri
yaptığı şeyler dinamik olarak bir başkasını yüklemek (ve makine koduna derlemek)
kendi sürümü, genellikle çok yeni bir git checkout gibi daha yeni bir sürüm.

KOMUT LINE BİR TEK OPERASYONLAR
Bu seçenekler kullanılırken kullanılmak içindir. pg yükleyici yerine yalnızca komut satırından
bir komut dosyası ve zengin komut yan tümceleri ve ayrıştırıcı kullanmaktan daha iyidir. Basit durumlarda, olabilir
kullanmak çok daha kolay olacak KAYNAK ve HEDEF doğrudan komut satırında, ardından
bu seçeneklerle yükleme:

· --ile birlikte "seçenek":

Komut satırından ayar seçeneklerine izin verir. Bu seçeneği istediğiniz kadar kullanabilirsiniz.
İstediğiniz. Seçenek argümanları aşağıdakileri izlemelidir: İLE kaynak türü için madde
KAYNAK spesifikasyon, bu belgede daha sonra açıklandığı gibi.

· --Ayarlamak "guc_name=´değer´"

Komut satırından PostgreSQL yapılandırmasının ayarlanmasına izin verir. seçeneği olduğunu unutmayın
ayrıştırma, kullanıldığı zamankiyle aynıdır. SET komut maddesi, özellikle yapmanız gerekir
guc değerini tek tırnak içine alın.

· --alan "..."

Bir kaynak alan tanımının ayarlanmasına izin verir. Alanlar, verilen sıraya göre toplanır.
komut satırı. Bir --alan kaynaktaki alan başına seçenek
dosyasında yapacağınız gibi, alan tanımlarını virgülle ayırın. HAVING
ALANLAR fıkra.

· --döküm "..."

Verileri yüklemek için belirli bir döküm kuralının ayarlanmasına izin verir.

· --tip csv|sabit|db3|ixf|sqlite|mysql|mssql

olması durumunda kaynak tipini zorlamaya izin verir. KAYNAK ayrıştırma tatmin edici değil.

· --kodlama

Verilerin yükleneceği kaynak dosyanın kodlamasını ayarlayın.

· --önce

SQL sorguları için verilen dosya adını ayrıştırın ve daha önce hedef veritabanına karşı çalıştırın.
kaynaktan veri yükleme. Sorgular pgloader tarafından ayrıştırılır:
noktalı virgül (;) ile sonlandırılacak ve dosya şunları içerebilir: \i or ir komutları
dahil başka bir dosya.

· --sonrasında

SQL sorguları için verilen dosya adını ayrıştırın ve sonra bunları hedef veritabanına karşı çalıştırın.
verileri kaynaktan yükledikten sonra. Sorgular ile aynı şekilde ayrıştırılır
the --önce seçeneği, yukarıya bakın.

DAHA DEBUG Hizmetler
Maksimum miktarda hata ayıklama bilgisi almak için her ikisini de kullanabilirsiniz. --ayrıntılı ve
- hata ayıklama aynı anda geçiş yapar, bu da söylemeye eşdeğerdir --client-min-mesajları
veri. Daha sonra günlük mesajları, işlenen verileri gösterecektir.
kod bunun için açık bir desteğe sahiptir.

KULLANIM ÖRNEKLER


Komut satırı seçeneklerini ve pgloader'ın sürümünü gözden geçirin:

pgloader -- yardım
pgloader --versiyon

yükleme itibaren a karmaşık komuta
Komut dosyasını pgloader komut argümanı olarak kullanın, pgloader o dosyayı ayrıştırır ve
içinde bulunan komutları yürütün:

pgloader --verbose ./test/csv-districts.load

CSV
Veri tabanınızdaki önceden var olan bir tabloya bir CSV dosyasından veri yükleyin:

pgloader -- csv yazın
--alan kimliği --alan alanı
-- kesikli
-- "´,´ ile sonlanan alanlar" ile
./test/data/matching-1.csv
postgres:///pgloader?tablename=eşleşme

Bu örnekte, tüm yükleme komut satırından yürütülür ve
tamamen pgloader komut sözdiziminde bir komut yazmak. Yine de bir komut olmadığı için,
Gereken ekstra bilgi, komut satırında aşağıdakiler kullanılarak sağlanmalıdır. --tip ve
--alan ve --ile birlikte anahtarlar.

Kullanılabilir sözdizimleriyle ilgili belgeler için --alan ve --ile birlikte anahtarlar, lütfen
kılavuz sayfasındaki CSV bölümüne bakın.

Ayrıca PostgreSQL URI'sinin hedefi içerdiğini unutmayın. Tablo ismi.

Okuma itibaren STDIN
Dosya tabanlı pgloader kaynakları, aşağıdaki gibi standart girdiden yüklenebilir.
örnek:

pgloader -- csv yazın
--field "usps,geoid,aland,awater,aland_sqmi,awater_sqmi,intptlat,intptlong"
--ile "başlığı atla = 1"
-- "´\t´ ile sonlandırılan alanlar" ile
-
postgresql:///pgloader?districts_longlat
< test/data/2013_Gaz_113CDs_national.txt

Tire (-) karakteri kaynak olarak anlamında kullanılır standart giriş, Unix'te her zamanki gibi
komut satırları. Bu teknikle sıkıştırılmış içeriği pgloader'a aktarmak mümkündür,
Unix borusunu kullanarak:

gunzip -c kaynak.gz | pgloader --type csv ... - pgsql:///target?foo

yükleme itibaren CSV mevcut içinden HTTP
Hemen yukarıdakiyle aynı komut, CSV dosyası bir dosyada bulunursa da çalıştırılabilir.
uzak HTTP konumu:

pgloader -- csv yazın
--field "usps,geoid,aland,awater,aland_sqmi,awater_sqmi,intptlat,intptlong"
--ile "başlığı atla = 1"
-- "´\t´ ile sonlandırılan alanlar" ile
http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt
postgresql:///pgloader?districts_longlat

Dosya tek satırlık bir başlık içerdiğinden, bu durumda bazı seçeneklerin kullanılması gerekir.
(en yaygın olarak bu sütun adları, bir telif hakkı bildirimi olabilir). Ayrıca, bu durumda, biz
tüm alanları tek bir alanda belirtin --alan seçenek argümanı.

Yine, PostgreSQL hedef bağlantı dizesi şunları içermelidir: Tablo ismi seçenek ve sen
hedef tablonun var olduğundan ve verilere uyduğundan emin olmalısınız. İşte SQL komutu
Kendiniz denemek istemeniz durumunda bu örnekte kullanılmıştır:

tablo oluştur mahalleler_longlat
(
usps metin,
jeoid metin,
alan bigint,
su büyük,
aland_sqmi çift hassasiyet,
awater_sqmi çift hassasiyet,
intptlat çift hassasiyet,
intptlong çift hassasiyet
);

Ayrıca, aynı komutun aynı verilerin arşivlenmiş bir versiyonuna karşı da çalışacağına dikkat edin,
Evliliğin bona fide bir evlilik olduğu şu belgeler ile ispatlanabilir: http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz.

Son olarak, pgloader'ın içeriği ilk önce HTTP URL'sinden aldığını belirtmek önemlidir.
yerel bir dosyaya aktarın, ardından arşivi bir olduğu kabul edildiğinde genişletin ve ancak o zaman
yerel olarak genişletilmiş dosyayı işler.

Bazı durumlarda, ya pgloader'ın arşiv biçiminiz için doğrudan desteği olmadığı için ya da
belki arşivi genişletmek ortamınızda mümkün olmadığı için,
dere içeriği doğrudan uzak konumundan PostgreSQL'e. İşte nasıl yapılır
bu, eski savaşta test edilmiş Unix Pipes hilesini kullanarak:

kıvırmak http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz
| gunzip-c
| pgloader -- csv yazın
--field "usps,geoid,aland,awater,aland_sqmi,awater_sqmi,intptlat,intptlong"
--ile "başlığı atla = 1"
-- "´\t´ ile sonlandırılan alanlar" ile
-
postgresql:///pgloader?districts_longlat

Artık işletim sistemi, ağ ve ağ arasındaki akış ve ara belleğe alma ile ilgilenecek.
komutlar ve pgloader, verilerin PostgreSQL'e aktarılmasıyla ilgilenecektir.

geçiş itibaren SQLite
Aşağıdaki komut SQLite veritabanını açacak, tablo tanımlarını keşfedecektir.
dizinler ve yabancı anahtarlar dahil olmak üzere, bu tanımları taşırken döküm veri türü
teknik özellikleri PostgreSQL eşdeğerlerine getirin ve ardından verileri şuraya taşıyın:

oluşturulan yenidb
pgloader ./test/sqlite/sqlite.db postgresql:///newdb

geçiş itibaren MySQL
MySQL verilerini ve tanımlarını barındıracak ve pgloader'ın yapması gereken bir veritabanı oluşturun.
tek bir komut satırında sizin için geçiş:

oluşturulanb pagila
pgloader mysql://user@localhost/sakila postgresql:///pagila

Getiriliyor an arşivlenmiş DBF dosya itibaren a HTTP uzak yer
pgloader'ın HTTP'den bir dosya indirmesi, arşivden çıkarması ve ancak bundan sonra açması mümkündür.
şemayı keşfetmek ve ardından verileri yüklemek için:

yaratılmış
pgloader -- tip dbf http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/historiq2013.zip postgresql:///foo

Burada pgloader'ın kendisine verilen veri kaynağının türünü tahmin etmesi mümkün değildir, bu yüzden
kullanmak gerekli --tip komut satırı anahtarı.

PARTİLER VE TEKRAR DENE DAVRANIŞ


PostgreSQL'e veri yüklemek için pgloader, KOPYALA akış protokolü. Bu iken
veri yüklemenin daha hızlı yolu, KOPYALA önemli bir dezavantajı vardır: PostgreSQL bir
kendisine gönderilen herhangi bir veri biti ile ilgili hata, sorun ne olursa olsun, tüm veri seti
PostgreSQL tarafından reddedildi.

Buna geçici bir çözüm bulmak için pgloader verileri şu şekilde keser: toplu her biri 25000 satır, böylece
yalnızca bu kadar çok veri satırını etkileyen bir sorun oluşur. Her parti bellekte tutulur
ederken KOPYALA Bazılarının olması durumunda hataların üstesinden gelebilmek için akış gerçekleşir.

PostgreSQL tüm grubu reddettiğinde, pgloader hata mesajını günlüğe kaydeder ve ardından
toplu satırları daha küçük gruplar halinde yeniden deneyerek kabul edilenlerden hatalı satırları. Yapmak
bu, pgloader ayrıştırır BAĞLAM mesaj olarak başarısız KOPYALAMA'dan hata mesajı
aşağıdaki gibi, toplu işte hatanın bulunduğu satır numarasını içerir
örnek:

BAĞLAM: KOPYALAMA hataları, 3. satır, sütun b: "2006-13-11"

Bu bilgiyi kullanarak, pgloader, hatalı işlemden önce toplu işteki tüm satırları yeniden yükleyecektir.
bir, hatalı olanı reddedildi olarak günlüğe kaydedin, ardından partinin kalanını bir
diğer hatalı verileri içerebilen veya içermeyebilen tek deneme.

Reddedilen satırları içeren bir yükün sonunda, iki dosya bulacaksınız. kök-dir
konum, kurulumunuzun hedef veritabanıyla aynı adlı bir dizin altında. bu
dosya adları hedef tablodur ve uzantıları .dat reddedilen veriler için ve
.log reddedilen verilerle ilgili tam PostgreSQL istemci tarafı günlüklerini içeren dosya için.

The .dat dosya PostgreSQL'de biçimlendirilir, metin COPY biçiminde belgelendiği gibi
http://www.postgresql.org/docs/9.2/static/sql-copy.html#AEN66609 .

A NOT HAKKIMIZDA GÖSTERİLER


pgloader, her zaman başa çıkabilmek için performanslar göz önünde bulundurularak geliştirilmiştir.
PostgreSQL'e büyük miktarda veri yüklemeye yönelik artan ihtiyaçlar.

Kullandığı temel mimari, bir iş parçacığının sorumlu olduğu eski Unix boru modelidir.
verileri yüklemek (bir CSV dosyasını okumak, MySQL'i sorgulamak vb.) ve önceden işlenmiş dolgular için
veriler bir kuyruğa alınır. Kuyruktan başka bir iş parçacığı beslenir, biraz daha uygulayın dönüşümler
girdi verilerine ve son sonucu COPY protokolünü kullanarak PostgreSQL'e aktarın.

PostgreSQL'e bir dosya verildiğinde KOPYALA komut nasıl ayrıştırılacağını bilir ve eğer dosya
hatalı veri içermiyorsa, pgloader asla sadece
PostgreSQL KOPYALA Komut.

Unutmayın ki KOPYALA komut, standart girişinden veya
sunucunun dosya sistemindeki yerel bir dosyadan komut satırı aracı psql'in uygular
\kopyala ağ üzerinden istemciye yerel bir dosyanın nasıl aktarılacağını bilen komut ve
pgloader'ın kullandığı protokolü kullanarak PostgreSQL sunucusuna.

KAYNAK BİÇİMLER


pgloader aşağıdaki giriş biçimlerini destekler:

· tsv ve değiştirebileceğiniz diğer yaygın varyantları da içeren csv
ayırıcı ve alıntı kurallar ve nasıl yapılır kaçış the tırnak işareti kendileri;

· pgloader'ın kaynak dosyalara uyum sağlayacak kadar esnek olduğu sabit sütunlar dosyası
eksik sütunlar (düzensiz sabit uzunluk sütun Dosyaları var);

· PostgreSQL'in METİN KOPYALAMA belgelerini takip eden PostgreSLQ KOPYALAMA formatlı dosyalar,
pgloader tarafından hazırlanan red dosyaları gibi;

· db3 veya dbf dosyası olarak bilinen dbase dosyaları;

· ixf biçimli dosyalar, ixf, IBM'in ikili depolama biçimidir;

· sqlite veritabanları, tam otomatik şema keşfi ve gelişmiş yayın kuralları;

· şemanın tam otomatik keşfi ve gelişmiş yayın kuralları ile mysql veritabanları;

· Şemanın tam otomatik keşfi ve gelişmiş yayın kuralları ile MS SQL veritabanları.

YÜKLEYİCİ KOMUTLAR SÖZDİZİMİ


pgloader, karmaşık veri yüklemesini ayarlamaya izin veren bir Etki Alanına Özgü Dil uygular
hesaplanan sütunları işleyen komut dosyaları ve giriş verilerinin anında sterilize edilmesi. Daha fazlası için
karmaşık veri yükleme senaryolarında, DSL'nin sözdizimini öğrenmeniz gerekecektir. Onun
mantıklı olduğu yerde SQL'den ilham alarak DBA'ya tanıdık görünmek anlamına geliyordu, ki bu
sonuçta bu kadar.

pgloader komutları aynı genel dilbilgisi kurallarını takip eder. Her biri destek olabilir
genel seçeneklerin yalnızca bir alt kümesidir ve belirli seçenekler sunar.

YÜK
İTİBAREN [ ALANLARA SAHİPTİR ]
İÇİNE [ HEDEF KOLONLARI ]

[ İLE ]

[ AYARLAMAK ]

[ YÜKLEMEDEN ÖNCE [ YAPIN | UYGULAMAK ] ... ]
[ YÜKLEMEDEN SONRA [ YAP | UYGULAMAK ] ... ]
;

Ana hükümler, YÜK, DAN, INTO ve İLE her komutun uyguladığı yan tümceler.
Bazı komutlar daha sonra SET komut veya gibi bazı özel maddeler CAST
fıkra.

ORTAK MADDELERİ


Bazı maddeler tüm komutlar için ortaktır:

· DAN

The DAN yan tümcesi verilerin nereden okunacağını belirtir ve her komut kendi
kaynakların kendi varyantı. Örneğin, CSV kaynak destekler inline, stdin,
dosya adı, alıntılanmış bir dosya adı ve DOSYA ADI EŞLEŞTİRME madde (yukarıya bakın); oysa
MySQL source yalnızca bir MySQL veritabanı URI belirtimini destekler.

Her durumda, DAN yan tümce değerini bir ortam değişkeninden okuyabilir
formu kullanırken GETENV 'varname'.

· INTO

PostgreSQL bağlantı URI'si, yüklenecek hedef tablonun adını içermelidir
içine veri. Bu tablo PostgreSQL'de zaten oluşturulmuş olmalı ve adı
şema nitelikli olabilir.

The INTO hedef veritabanı bağlantısı URI'si, bir ortamın değerinden ayrıştırılabilir
formu kullanırken değişken GETENV 'varname'.

Sonra INTO seçenek ayrıca isteğe bağlı virgülle ayrılmış hedef sütun listesini de destekler,
hangisi bir girdinin adıdır alan veya beyaz boşlukla ayrılmış liste
hedef sütun adı, PostgreSQL veri türü ve KULLANMA ifadesi.

The KULLANMA ifade, geçerli herhangi bir Common Lisp formu olabilir ve
geçerli paket pgloader.dönüşümleriçinde tanımlanan işlevleri kullanabilmeniz için
ile dinamik olarak yüklenen işlevler gibi bu paket --yük komut satırı
parametre.

Her KULLANMA ifade, çalışma zamanında yerel koda derlenir.

Bu özellik, pgloader'ın bir CSV dosyasındaki herhangi bir sayıdaki alanı bir
bunun için özel kod kullanarak veritabanındaki muhtemelen farklı sayıda sütun
projeksiyon.

· İLE

Aşağıdakilerden birinin genel sözdizimini kullanarak komuta uygulanacak seçenekler kümesi:

· anahtar = değer

· kullanım seçenek

· do değil kullanım seçenek

Ayrıntılar için her bir özel komuta bakın.

· SET

Bu fıkra, açılan tüm oturumlar için ayarlanacak oturum parametrelerinin belirlenmesine izin verir.
pgloader tarafından. Parametre adı, eşittir işareti ve ardından
virgülle ayrılmış liste olarak tek tırnaklı değer.

Parametrelerin adları ve değerleri pgloader tarafından doğrulanmaz, verilir.
PostgreSQL'de olduğu gibi.

· ÖNCE YÜK DO

Veritabanından verileri yüklemeden önce veritabanına karşı SQL sorguları çalıştırabilirsiniz. CSV
dosya. En yaygın SQL sorguları CREATE TABLO IF DEĞİL VAR böylece veriler olabilir
yüklendi.

Her komut olmalıdır dolar cinsinden alıntı: çift dolar işaretiyle başlamalı ve bitmelidir,
$$. Dolar cinsinden alıntılanan sorgular daha sonra virgülle ayrılır. Ekstra noktalama işareti beklenmiyor
son SQL sorgusundan sonra.

· ÖNCE YÜK UYGULA

Aynı davranış ÖNCE YÜK DO madde. SQL sorgularını okumanızı sağlar
bir SQL dosyasından. PostgreSQL dolar alıntısı için destek uygular ve \i ve ir
gibi tesisleri içerir psql'in toplu mod (aynı şey olduklarında).

· SONRA YÜK DO

Şununla aynı biçim ÖNCE YÜK DO, o bölümde bulunan dolar cinsinden sorgular
yük tamamlandıktan sonra yürütülür. İndeks oluşturmak için doğru zaman ve
kısıtlamalar veya tetikleyicileri yeniden etkinleştirin.

· SONRA YÜK UYGULA

Aynı davranış SONRA YÜK DO madde. SQL sorgularını okumanızı sağlar.
bir SQL dosyası. PostgreSQL dolar alıntısı için destek uygular ve \i ve ir
gibi tesisleri içerir psql'in toplu mod (aynı şey olduklarında).

Bağlantısı dizi
The parametre olarak verilmesi beklenmektedir. Bağlantısı URI belgelendiği gibi
PostgreSQL belgelerinde
http://www.postgresql.org/docs/9.3/static/libpq-connect.html#LIBPQ-BAĞLAMA.

postgresql://[user[:password]@][netloc][:port][/dbname][?option=value&...]

Nerede:

· kullanıcı

İki nokta üst üste dahil olmak üzere herhangi bir karakter içerebilir (:) daha sonra iki katına çıkarılmalıdır (::) Ve
işaretini (@) daha sonra iki katına çıkarılmalıdır (@@).

atlandığında, kullanıcı name değeri varsayılan olarak PGUSER Çevre değişkeni,
ve ayarlanmamışsa, değeri KULLANICI Çevre değişkeni.

· şifre

at işareti de dahil olmak üzere herhangi bir karakter içerebilir (@) daha sonra iki katına çıkarılmalıdır (@@).
Şifreyi boş bırakmak için, kullanıcı isim at işareti ile biter, daha sonra yapmanız gerekir
kullanıcı:@ sözdizimini kullanın.

atlandığında, şifre değerine varsayılan olarak PGPŞİFRE çevre
değişken ayarlanmışsa, aksi takdirde parola ayarlanmadan bırakılır.

· netloc

Noktalı gösterimde bir ana bilgisayar adı veya bir ipv4 veya bir Unix etki alanı soketi olabilir
yol. Boş, bir sistem altında varsayılan ağ konumudur. unix domain
soket bu yöntem tercih edilir, aksi takdirde netloc varsayılan localhost.

zorlamak mümkün unix domain soket sözdizimini kullanarak yol
unix:/yol/giden/nerede/soket/dosya/olduğu, bu nedenle varsayılan olmayan bir soket yolunu zorlamak ve
varsayılan olmayan bağlantı noktası, sahip olacaksınız:

postgresql://unix:/ Tmp:54321/veritabanı adı

The netloc değerine varsayılan olarak PGHOST ortam değişkeni ve ayarlanmamışsa,
ya varsayılan unix bir Unix sisteminde çalışırken soket yolu ve localhost
aksi takdirde.

· veritabanı adı

Uygun bir tanımlayıcı olmalıdır (harf ve ardından harf, rakam ve
noktalama işaretleri virgül (,), tire (-) ve alt çizgi (_).

atlandığında, veritabanı adı ortam değişkeninin değerine varsayılan değer PGVERİTABANI,
ve bu ayarlanmamışsa, kullanıcı değer yukarıda belirtildiği gibidir.

· seçenekleri

İsteğe bağlı parametreler formla birlikte sağlanmalıdır adı = değerve kullanabilirsiniz
birkaç parametreyi bir ve işareti kullanarak ayırarak (&) karakter.

Burada yalnızca bazı seçenekler desteklenir, Tablo ismi (bir
şema adı) ssl modu, ev sahibi, Liman, veritabanı adı, kullanıcı ve şifre.

The ssl modu parametre değerleri şunlardan biri olabilir Enable / Disable, izin vermek, tercih or gerektirir.

Geriye dönük uyumluluk nedenleriyle, şunları belirtmek mümkündür: Tablo ismi seçenek
doğrudan, hecelemeden tablo adı= parçaları.

Seçenekler, her ikisi de verildiğinde ana URI bileşenlerini geçersiz kılar ve
yüzde kodlu seçenek parametreleri, iki nokta üst üste ile başlayan parolaların kullanılmasına izin verir ve
diğer URI bileşenlerini ayrıştırma sınırlamalarını atlayarak.

Düzenli İfadeler
Aşağıdaki kabullerde listelenen birkaç madde düzenli ifade GMT ile
giriş kuralları:

· Normal bir ifade yaklaşık işaretiyle başlar (~),

· daha sonra bir açılış işareti ile takip edilir,

· o zaman herhangi bir karaktere izin verilir ve aşağıdakiler dışında normal ifadenin bir parçası olarak kabul edilir:
kapanış işareti için,

· sonra bir kapanış işareti bekleniyor.

Açılış ve kapanış işaretine çift tarafından izin verilir, işte izin verilenlerin tam listesi
sınırlayıcılar:

~//
~[]
~{}
~()
~<>
~""
~''
~||
~##

ile çarpışmayan sınırlayıcı kümesini seçin. düzenli ifade yapmaya çalışıyorsun
giriş. İfadeniz, çözümlerin hiçbirinin girmenize izin vermeyecek şekildeyse,
bu tür ifadelere izin verilen yerler, bir ifade listesine izin vermelidir.

Yorumlar
Herhangi bir komut, şu giriş kurallarına göre yorumlar içerebilir:

· NS -- sınırlayıcı, geçerli satırın sonuyla biten bir yoruma başlar,

· sınırlayıcılar /* ve */ sırasıyla şurada bulunabilecek bir yorumu başlatır ve bitirir:
bir komutun ortasında veya birkaç satıra yayılıyor.

girebileceğiniz herhangi bir yer boşluk bir yorumu da kabul edecektir.

Yığın davranış seçenekleri
Tüm pgloader komutlarının bir desteği vardır. İLE seçenekleri belirlemeye izin veren madde.
Bazı seçenekler geneldir ve komutlar gibi tüm komutlar tarafından kabul edilir. yığın davranış
seçenekleri, ve bazı seçenekler CSV gibi bir veri kaynağı türüne özeldir. atlamak başlık
seçeneği.

Genel toplu davranış seçenekleri şunlardır:

· yığın satır

Argüman olarak sayısal bir değer alır, izin verilen maksimum satır sayısı olarak kullanılır.
grup. Varsayılan 25 000 ve daha iyi performanslara sahip olmak için değiştirilebilir
özellikleri veya pgloader bellek kullanımını kontrol etmek için;

· yığın boyut

Argüman olarak bir bellek birimi alır, örneğin 20 MB, varsayılan değeri. Kabul edilmiş
çarpanlar kB, MB, GB, TB ve PB. Olay karıştırılmaması için önemli
bitlere karşı baytlar hakkında, burada sadece baytlardan bahsediyoruz.

· yığın eşzamanlılık

Argüman olarak sayısal bir değer alır, varsayılan olarak 10. Bu, partilerin sayısıdır.
pgloader, bir seferde yalnızca tek bir toplu işlem yapılabileceği zaman bile bellekte oluşturmaya izin verir.
PostgreSQL'e gönderilir.

Tek seferde birden fazla parti gönderilmesini desteklemek, yapılacaklar listesinde
pgloader, ancak henüz uygulanmadı. Bu seçenek hafızayı kontrol etmekle ilgilidir.
pgloader'ın ihtiyaçları, performans özellikleriyle ilgili bir takas olarak değil,
pgloader'ın paralel etkinliği.

Diğer seçenekler her bir giriş kaynağına özeldir, lütfen giriş kaynağının belirli bölümlerine bakın.
bunların listelenmesi ve kaplanması için belgeler.

Daha sonra bir parti, yığın satır ya da yığın boyut eşik
çapraz, hangisi önce gelirse. nedeniyle bir partinin kapatılması gerektiği durumlarda
yığın boyut ayar, bir ayıklamak seviye günlüğü mesajı, kaç satıra sığdığı ile yazdırılır.
büyük boy Toplu.

YÜK CSV


Bu komut, pgloader'a bir CSV dosya. İşte bir örnek:

CSV'Yİ YÜKLE
ENCODING iso-646-us İLE 'GeoLiteCity-Blocks.csv'den
ALANLARA SAHİP
(
startIpNum, endIpNum, locId
)
INTO postgresql://user@localhost:54393/dbname?geolite.blocks
HEDEF KOLONLAR
(
iprange ip4r kullanarak (ip-range startIpNum endIpNum),
locID
)
İLE kesmek,
başlığı atla = 2,
isteğe bağlı olarak ´"´ ile çevrelenen alanlar,
ters eğik çizgi ile kaçan alanlar,
´\t´ ile sonlandırılan alanlar

work_mem'i '32 MB' olarak ayarlayın, bakım_work_mem'i '64 MB' olarak ayarlayın;

The csv format komutu aşağıdaki maddeleri ve seçenekleri kabul eder:

· DAN

Verilerin nereden yükleneceği dosya adı. kabul eder KODLAMA seçeneği. Kullan
--list-kodlamalar Hangi kodlama adlarının desteklendiğini bilme seçeneği.

Dosya adı tek tırnak içine alınabilir ve aşağıdakilerden biri olabilir
özel değerler:

· inline

Veriler, ayrıştırılmış komutların bitiminden sonra bulunur. Herhangi bir sayıda boş satır
komutların sonu ile verinin başlangıcı arasında kabul edilir.

· stdin

Standart giriş akışındaki verileri okur.

· DOSYA ADLARI EŞLEŞTİRME

Bütün uygun madde aşağıdaki kurala uymalıdır:

[ TÜM DOSYA ADLARI | [ İLK ] DOSYA ADI ]
EŞLEŞEN normal ifade
[ DİZİNDE ´...´ ]

The uygun madde verilen geçerlidir düzenli ifade (tam sözdizimi için yukarıya bakın, birkaç
seçenekler burada kullanılabilir) dosya adlarına. Bu durumda yalnızca veriyi yüklemek mümkündür.
hepsinin ilk maçı.

İsteğe bağlı IN DİZİN yan tümcesi, bulmak için hangi dizinde yürüneceğini belirlemeye izin verir.
veri dosyalarıdır ve komut dosyasının nereden okunduğuna göre olabilir veya
mutlak. Verilen dizin mevcut olmalıdır.

The DAN seçeneği ayrıca isteğe bağlı virgülle ayrılmış bir listeyi de destekler. alan tanımlayan isimler
içinde ne bekleniyor CSV isteğe bağlı olarak yan tümce tarafından tanıtılan veri dosyası HAVING ALANLAR.

Her alan adı, yalnızca bir ad olabilir veya belirli bir okuyucu ile takip edilen bir ad olabilir.
bu alan için seçenekler, köşeli parantez içine alınmış ve virgülle ayrılmış. Desteklenen
alan başına okuyucu seçenekleri şunlardır:

· sonlandırıldı by

açıklamasına bakın alan sonlandırıldı by altında.

Bu seçeneğin işlenmesi şu anda uygulanmamaktadır.

· tarih biçim

Alanın tarih türünden olması beklendiğinde, bu seçenek,
dosyada kullanılan tarih biçimi.

Tarih formatı dizesi, PostgreSQL'e göre modellenen şablon dizeleridir. to_char
şablon dizeleri desteği, aşağıdaki kalıplarla sınırlıdır:

· YYYY, YYY, YY yıl kısmı için

· Sayısal ay kısmı için MM

· Sayısal gün kısmı için DD

· Saat kısmı için HH, HH12, HH24

· AM, AM, AM, AM

· öğleden sonra, öğleden sonra, öğleden sonra, öğleden sonra

· Dakika kısmı için MI

· Saniye kısmı için SS

· Milisaniye kısmı için MS (4 hane)

· ABD mikrosaniye kısmı için (6 haneli)

· çözümlenmemiş noktalama işaretleri: - . * # @ T / \ ve boşluk

İşte bir örnek tarih biçim şartname:

sütun adı [tarih biçimi ´YYYY-AA-GG HH24-MI-SS.US´]

· boş if

Bu seçenek, anahtar kelime olan bir argüman alır. boşlukları veya çift alıntı
dize.

Ne zaman boşlukları kullanılır ve okunan alan değeri yalnızca boşluk karakterlerini içerir,
sonra otomatik olarak bir SQL'e dönüştürülür NULL değeri.

Çift tırnaklı bir dize kullanıldığında ve bu dize alan değeri olarak okunduğunda,
alan değeri otomatik olarak bir SQL'e dönüştürülür NULL değeri.

· süs her ikisi de boşluk, süs sol boşluk, süs krallar gibi yaşamaya boşluk

Bu seçenek, okunan verilerdeki boşlukların ekranın her iki tarafından da kırpılmasına izin verir.
veri veya yalnızca çizginin solunda bulunan boşluk karakterleri veya yalnızca
dizenin sağındakiler.

· İLE

a'dan yüklenirken CSV dosya, aşağıdaki seçenekler desteklenir:

· kesmek

Bu seçenek listelendiğinde, pgloader bir KIRMIZI PostgreSQL'e karşı komut
veri dosyasını okumadan önce hedef tablo.

· düşürmek indeksler

Bu seçenek listelendiğinde, pgloader sorunları DAMLA INDEX tüm karşı komutlar
verileri kopyalamadan önce hedef tabloda tanımlanan dizinleri, ardından CREATE INDEX
bir kez komutlar KOPYALA bitti.

Mümkün olan en iyi performansı elde etmek için tüm indeksler oluşturulur.
paralel ve bittiğinde, birincil anahtarlar sadece benzersiz dizinlerden yeniden oluşturulur.
yaratıldı. Bu iki adımlı süreç, birincil anahtar dizini ile paralel olarak oluşturulmasına izin verir.
diğer indeksler, sadece alter TABLO komuta ihtiyaç var erişim özel kilitlemek on
hedef tablo.

· Enable / Disable tetikler

Bu seçenek listelendiğinde, pgloader bir alter TABLO Kendi ID’n ile mağazalarını oluştur DEVRE DIŞI TRIGGER HEPSİ
Verileri kopyalamadan önce PostgreSQL hedef tablosuna karşı komut, ardından komut
alter TABLO Kendi ID’n ile mağazalarını oluştur ENABLE TRIGGER HEPSİ bir kere KOPYALA bitti.

Bu seçenek, verileri yok sayarak önceden var olan bir tabloya yüklemeye izin verir. yabancı anahtar
kısıtlamaları ve kullanıcı tanımlı tetikleyiciler ve geçersiz yabancı anahtar
kısıtlamaları veriler yüklendikten sonra. Dikkatli kullanın.

· atlamak başlık

Argüman olarak sayısal bir değer alır. pgloader'a o kadar çok satırı atlamasını söyleyin.
giriş dosyasının başlangıcı.

· csv başlık

sonra okunan ilk satırı kullanın atlamak başlık bulunacak csv alan adlarının listesi olarak
CSV verileriyle aynı CSV parametrelerini kullanarak CSV dosyasında.

· süs alıntı yapılmamış boşlukları

içinde tırnak içine alınmamış değerleri okurken CSV dosya arasında bulunan boşlukları kaldırın.
ayırıcı ve değer. Bu davranış varsayılandır.

· tutmak alıntı yapılmamış boşlukları

içinde tırnak içine alınmamış değerleri okurken CSV dosya, arasında bulunan boşlukları tutun
ayırıcı ve değer.

· alanları isteğe bağlı kapalı by

Argüman olarak tek tırnak içinde bulunması gereken tek bir karakter alır ve
yazdırılabilir karakterin kendisi olarak verilebilir, özel değeri \t belirtmek için
tablolama karakteri veya 0x daha sonra ASCII kodu olarak okunan onaltılık bir değer
karakter.

Bu karakter, metinde alıntı karakteri olarak kullanılır. CSV dosya ve varsayılan olarak
çift ​​alıntı.

· alanları değil kapalı

Varsayılan olarak, pgloader, çevreleyen karakter olarak çift tırnak karakterini kullanır.
Alanların kapatılmadığı ve çift tırnak işareti olarak kullanıldığı bir CSV dosyanız varsa,
beklenen sıradan karakter, ardından seçeneği kullanın alanları değil kapalı CSV için
bu değerleri kabul etmek için ayrıştırıcı.

· alanları kaçtı by

ya özel değeri alır ters eğik çizgi-alıntı or çift ​​tırnakveya desteklenen herhangi bir değer
tarafından alanları sonlandırıldı by seçeneği (aşağıya bakın). Bu değer tanımak için kullanılır
veri alanlarının kendilerinde bulunacakları zaman, kaçan alan ayırıcılar.
Varsayılan değer çift ​​tırnak.

· csv kaçış kip

ya özel değeri alır alıntı yapmak (varsayılan) veya takip etme ve CSV'ye izin verir
ayrıştırıcı, yalnızca kaçan alan ayırıcıyı veya herhangi bir karakteri (CSV dahil) ayrıştırmak için
verileri) kullanırken takip etme değeri.

· alanları sonlandırıldı by

Argüman olarak tek tırnak içinde bulunması gereken tek bir karakter alır ve
yazdırılabilir karakterin kendisi olarak verilebilir, özel değeri \t belirtmek için
tablolama karakteri veya 0x daha sonra ASCII kodu olarak okunan onaltılık bir değer
karakter.

Bu karakter olarak kullanılır alan ayırıcı okurken CSV verileri.

· hatları sonlandırıldı by

Argüman olarak tek tırnak içinde bulunması gereken tek bir karakter alır ve
yazdırılabilir karakterin kendisi olarak verilebilir, özel değeri \t belirtmek için
tablolama karakteri veya 0x daha sonra ASCII kodu olarak okunan onaltılık bir değer
karakter.

Bu karakter tanımak için kullanılır yolun sonu okurken durum CSV verileri.

YÜK SABİT COLS


Bu komut, pgloader'a düzenlenmiş sütunları içeren bir metin dosyasından veri yüklemesini söyler.
içinde sabit boyut tavır. İşte bir örnek:

YÜK SABİT
satır içi
(
a 0'dan 10'a,
b 10'dan 8'e,
c 18'den 8'e,
26 için 17'dan d [boşluklar varsa boş, sağdaki boşlukları kırp]
)
INTO postgresql:///pgloader?düzeltildi
(
bir, b,
c zaman kullanımı (ayırıcısız zaman c),
d
)

kesmek İLE

client_encoding'i 'latin1' olarak ayarlayın,
work_mem'den '14MB'ye,
standard_conforming_strings 'on' olarak

YÜKLE YAPMADAN ÖNCE
$$ drop tablosu varsa düzeltildi; $$,
$$ tablo oluşturma düzeltildi (
bir tam sayı
b tarihi,
zaman,
metin
);
$$;

01234567892008052011431250ilk satır
01234562008052115182300sol boş dolgulu
12345678902008052208231560başka bir satır
2345609872014092914371500
2345678902014092914371520

The sabit format komutu aşağıdaki maddeleri ve seçenekleri kabul eder:

· DAN

Verilerin nereden yükleneceği dosya adı. kabul eder KODLAMA seçeneği. Kullan
--list-kodlamalar Hangi kodlama adlarının desteklendiğini bilme seçeneği.

Dosya adı tek tırnak içine alınabilir ve aşağıdakilerden biri olabilir
özel değerler:

· inline

Veriler, ayrıştırılmış komutların bitiminden sonra bulunur. Herhangi bir sayıda boş satır
komutların sonu ile verinin başlangıcı arasında kabul edilir.

· stdin

Standart giriş akışındaki verileri okur.

The DAN seçeneği ayrıca isteğe bağlı virgülle ayrılmış bir listeyi de destekler. alan tanımlayan isimler
içinde ne bekleniyor SABİT veri dosyası.

Her alan adı, alan adından ve ardından belirli okuyucu seçeneklerinden oluşur.
o alan. Desteklenen alan başına okuyucu seçenekleri şunlardır; yalnızca başlama ve
uzunluk gereklidir.

· başlama

Bu alanın değerini okumaya başlayacağınız satırda konumlandırın. ile girilebilir
ondalık basamak veya 0x sonra onaltılık rakamlar.

· uzunluk

kaç bayt okunacak başlama bu alanın değerini okumak için konum. aynı biçim
as başlama.

Bu isteğe bağlı parametreler köşeli parantez içine alınmalı ve virgülle ayrılmalıdır:

· sonlandırıldı by

açıklamasına bakın alan sonlandırıldı by altında.

Bu seçeneğin işlenmesi şu anda uygulanmamaktadır.

· tarih biçim

Alanın tarih türünden olması beklendiğinde, bu seçenek,
dosyada kullanılan tarih biçimi.

Tarih formatı dizesi, PostgreSQL'e göre modellenen şablon dizeleridir. to_char
şablon dizeleri desteği, aşağıdaki kalıplarla sınırlıdır:

· YYYY, YYY, YY yıl kısmı için

· Sayısal ay kısmı için MM

· Sayısal gün kısmı için DD

· Saat kısmı için HH, HH12, HH24

· AM, AM, AM, AM

· öğleden sonra, öğleden sonra, öğleden sonra, öğleden sonra

· Dakika kısmı için MI

· Saniye kısmı için SS

· Milisaniye kısmı için MS (4 hane)

· ABD mikrosaniye kısmı için (6 haneli)

· çözümlenmemiş noktalama işaretleri: - . * # @ T / \ ve boşluk

İşte bir örnek tarih biçim şartname:

sütun adı [tarih biçimi ´YYYY-AA-GG HH24-MI-SS.US´]

· boş if

Bu seçenek, anahtar kelime olan bir argüman alır. boşlukları veya çift alıntı
dize.

Ne zaman boşlukları kullanılır ve okunan alan değeri yalnızca boşluk karakterlerini içerir,
sonra otomatik olarak bir SQL'e dönüştürülür NULL değeri.

Çift tırnaklı bir dize kullanıldığında ve bu dize alan değeri olarak okunduğunda,
alan değeri otomatik olarak bir SQL'e dönüştürülür NULL değeri.

· süs her ikisi de boşluk, süs sol boşluk, süs krallar gibi yaşamaya boşluk

Bu seçenek, okunan verilerdeki boşlukların ekranın her iki tarafından da kırpılmasına izin verir.
veri veya yalnızca çizginin solunda bulunan boşluk karakterleri veya yalnızca
dizenin sağındakiler.

· İLE

a'dan yüklenirken SABİT dosya, aşağıdaki seçenekler desteklenir:

· kesmek

Bu seçenek listelendiğinde, pgloader bir KIRMIZI PostgreSQL'e karşı komut
veri dosyasını okumadan önce hedef tablo.

· Enable / Disable tetikler

Bu seçenek listelendiğinde, pgloader bir alter TABLO Kendi ID’n ile mağazalarını oluştur DEVRE DIŞI TRIGGER HEPSİ
Verileri kopyalamadan önce PostgreSQL hedef tablosuna karşı komut, ardından komut
alter TABLO Kendi ID’n ile mağazalarını oluştur ENABLE TRIGGER HEPSİ bir kere KOPYALA bitti.

Bu seçenek, verileri yok sayarak önceden var olan bir tabloya yüklemeye izin verir. yabancı anahtar
kısıtlamaları ve kullanıcı tanımlı tetikleyiciler ve geçersiz yabancı anahtar
kısıtlamaları veriler yüklendikten sonra. Dikkatli kullanın.

· atlamak başlık

Argüman olarak sayısal bir değer alır. pgloader'a o kadar çok satırı atlamasını söyleyin.
giriş dosyasının başlangıcı.

YÜK KOPYALA BİÇİMLENDİRİLMİŞ DOSYALAR


Bu komut, pgloader'a METİN KOPYALAMA verilerini içeren bir dosyadan şu şekilde yükleme talimatı verir:
PostgreSQL belgelerinde açıklanmıştır. İşte bir örnek:

KOPYA YÜKLE
copy://./data/track.copy'DEN
(
trackid, parça, albüm, medya, tür, besteci,
milisaniye, bayt, birim fiyat
)
postgresql:///pgloader?track_full içine

kesmek İLE

client_encoding'i 'latin1' olarak ayarlayın,
work_mem'den '14MB'ye,
standard_conforming_strings 'on' olarak

YÜKLE YAPMADAN ÖNCE
$$ varsa bırakma tablosu track_full; $$,
$$ tablo oluştur track_full (
trackid büyük dizi,
metin izle,
albüm metni,
medya metni,
tür metin,
besteci metin,
milisaniye bigint,
bayt bigint,
birim fiyat sayısal
);
$$;

The KOPYALA format komutu aşağıdaki maddeleri ve seçenekleri kabul eder:

· DAN

Verilerin nereden yükleneceği dosya adı. Bu, yerel dosyaları, HTTP URL'lerini ve zip'i destekler
aynı ada sahip tek bir dbf dosyası içeren dosyalar. Böyle bir zip dosyasını bir
HTTP adresi elbette desteklenir.

· İLE

a'dan yüklenirken KOPYALA dosya, aşağıdaki seçenekler desteklenir:

· sınırlayıcı

Argüman olarak tek tırnak içinde bulunması gereken tek bir karakter alır ve
yazdırılabilir karakterin kendisi olarak verilebilir, özel değeri \t belirtmek için
tablolama karakteri veya 0x daha sonra ASCII kodu olarak okunan onaltılık bir değer
karakter.

Bu karakter olarak kullanılır sınırlayıcı verileri okurken, benzer şekilde
PostgreSQL KOPYALA seçeneği.

· boş

Argüman olarak tırnak içine alınmış bir dize alır (tırnaklar çift tırnak veya tek tırnak olabilir
tırnak işaretleri) ve bu dizeyi NULL verilerde temsili.

Bu benzer boş KOPYALA PostgreSQL'deki seçenek.

· kesmek

Bu seçenek listelendiğinde, pgloader bir KIRMIZI PostgreSQL'e karşı komut
veri dosyasını okumadan önce hedef tablo.

· Enable / Disable tetikler

Bu seçenek listelendiğinde, pgloader bir alter TABLO Kendi ID’n ile mağazalarını oluştur DEVRE DIŞI TRIGGER HEPSİ
Verileri kopyalamadan önce PostgreSQL hedef tablosuna karşı komut, ardından komut
alter TABLO Kendi ID’n ile mağazalarını oluştur ENABLE TRIGGER HEPSİ bir kere KOPYALA bitti.

Bu seçenek, verileri yok sayarak önceden var olan bir tabloya yüklemeye izin verir. yabancı anahtar
kısıtlamaları ve kullanıcı tanımlı tetikleyiciler ve geçersiz yabancı anahtar
kısıtlamaları veriler yüklendikten sonra. Dikkatli kullanın.

· atlamak başlık

Argüman olarak sayısal bir değer alır. pgloader'a o kadar çok satırı atlamasını söyleyin.
giriş dosyasının başlangıcı.

YÜK DBF


Bu komut, pgloader'a bir DBF dosya. İşte bir örnek:

YÜK DBF
DAN http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/reg2013.dbf
INTO postgresql://user@localhost/dbname
İLE kes, tablo oluştur;

The dbf format komutu aşağıdaki maddeleri ve seçenekleri kabul eder:

· DAN

Verilerin nereden yükleneceği dosya adı. Bu, yerel dosyaları, HTTP URL'lerini ve zip'i destekler
aynı ada sahip tek bir dbf dosyası içeren dosyalar. Böyle bir zip dosyasını bir
HTTP adresi elbette desteklenir.

· İLE

a'dan yüklenirken DBF dosya, aşağıdaki seçenekler desteklenir:

· kesmek

Bu seçenek listelendiğinde, pgloader bir KIRMIZI PostgreSQL'e karşı komut
veri dosyasını okumadan önce hedef tablo.

· Enable / Disable tetikler

Bu seçenek listelendiğinde, pgloader bir alter TABLO Kendi ID’n ile mağazalarını oluştur DEVRE DIŞI TRIGGER HEPSİ
Verileri kopyalamadan önce PostgreSQL hedef tablosuna karşı komut, ardından komut
alter TABLO Kendi ID’n ile mağazalarını oluştur ENABLE TRIGGER HEPSİ bir kere KOPYALA bitti.

Bu seçenek, verileri yok sayarak önceden var olan bir tabloya yüklemeye izin verir. yabancı anahtar
kısıtlamaları ve kullanıcı tanımlı tetikleyiciler ve geçersiz yabancı anahtar
kısıtlamaları veriler yüklendikten sonra. Dikkatli kullanın.

· yaratmak tablo

Bu seçenek listelendiğinde, pgloader içinde bulunan meta verileri kullanarak tabloyu oluşturur.
the DBF veri türüyle birlikte alanların bir listesini içermesi gereken dosya. Bir standart
DBF'den PostgreSQL'e veri türü dönüşümü yapılır.

· tablo isim

Bu seçenek, değeri olarak, oluşturulacak tablonun muhtemelen nitelenmiş adını bekler.

YÜK IXF


Bu komut, pgloader'a bir IBM'den veri yüklemesi talimatını verir. IXF dosya. İşte bir örnek:

YÜK IXF
data/nsitra.test1.ixf'DEN
INTO postgresql:///pgloader?nsitra.test1
İLE kes, tablo oluştur

YÜKLE YAPMADAN ÖNCE
$$ mevcut değilse şema oluştur nsitra; $$,
$$ varsa bırakma tablosu nsitra.test1; $$;

The ixf format komutu aşağıdaki maddeleri ve seçenekleri kabul eder:

· DAN

Verilerin nereden yükleneceği dosya adı. Bu, yerel dosyaları, HTTP URL'lerini ve zip'i destekler
aynı ada sahip tek bir ixf dosyası içeren dosyalar. Böyle bir zip dosyasını bir
HTTP adresi elbette desteklenir.

· İLE

a'dan yüklenirken IXF dosya, aşağıdaki seçenekler desteklenir:

· kesmek

Bu seçenek listelendiğinde, pgloader bir KIRMIZI PostgreSQL'e karşı komut
veri dosyasını okumadan önce hedef tablo.

· Enable / Disable tetikler

Bu seçenek listelendiğinde, pgloader bir alter TABLO Kendi ID’n ile mağazalarını oluştur DEVRE DIŞI TRIGGER HEPSİ
Verileri kopyalamadan önce PostgreSQL hedef tablosuna karşı komut, ardından komut
alter TABLO Kendi ID’n ile mağazalarını oluştur ENABLE TRIGGER HEPSİ bir kere KOPYALA bitti.

Bu seçenek, verileri yok sayarak önceden var olan bir tabloya yüklemeye izin verir. yabancı anahtar
kısıtlamaları ve kullanıcı tanımlı tetikleyiciler ve geçersiz yabancı anahtar
kısıtlamaları veriler yüklendikten sonra. Dikkatli kullanın.

· yaratmak tablo

Bu seçenek listelendiğinde, pgloader içinde bulunan meta verileri kullanarak tabloyu oluşturur.
the DBF veri türüyle birlikte alanların bir listesini içermesi gereken dosya. Bir standart
DBF'den PostgreSQL'e veri türü dönüşümü yapılır.

· tablo isim

Bu seçenek, değeri olarak, oluşturulacak tablonun muhtemelen nitelenmiş adını bekler.

YÜK ARŞİV


Bu komut, pgloader'a bir dosyada bulunan bir veya daha fazla dosyadan veri yüklemesini söyler.
Arşiv. Şu anda desteklenen tek arşiv biçimi Postave arşiv olabilir
bir yerden indirildi HTTP URL.

İşte bir örnek:

YÜK ARŞİVİ
KİMDEN /Kullanıcılar/dim/İndirilenler/GeoLiteCity-latest.zip
postgresql:///ip4r içine

YÜKLEMEDEN ÖNCE
ip4r yoksa uzantı oluşturun $$; $$,
$$ jeolit ​​yoksa şema oluştur; $$,

'geolite.sql' YÜRÜTÜN

CSV'Yİ YÜKLE
DOSYA ADI EŞLEŞTİRMEDEN ~/GeoLiteCity-Location.csv/
KODLAMA iso-8859-1 İLE
(
kimlik,
ülke,
bölge boş ise boş,
boş ise şehir null,
boşluk varsa postalCode null,
enlem,
boylam,
boşluklar varsa metroCode null,
boşluklar varsa fieldCode null
)
postgresql:///ip4r?geolite.location İÇİNDE
(
locid,ülke,bölge,şehir,postaKodu,
konum noktası (format nil "(~a,~a)" boylam enlem),
metroKodu,alanKodu
)
C üstbilgiyi atla = 2,
isteğe bağlı olarak ´"´ ile çevrelenen alanlar,
çift ​​tırnakla kaçan alanlar,
´,´ ile sonlandırılan alanlar

VE CSV'Yİ YÜKLE
DOSYA ADI EŞLEŞTİRMEDEN ~/GeoLiteCity-Blocks.csv/
KODLAMA iso-8859-1 İLE
(
startIpNum, endIpNum, locId
)
postgresql:///ip4r?geolite.blocks içine
(
iprange ip4r kullanarak (ip-range startIpNum endIpNum),
locID
)
C üstbilgiyi atla = 2,
isteğe bağlı olarak ´"´ ile çevrelenen alanlar,
çift ​​tırnakla kaçan alanlar,
´,´ ile sonlandırılan alanlar

SONUNDA YAP
$$, gist(iprange) kullanarak geolite.blocks üzerinde bloklar_ip4r_idx indeksi oluşturun; $$;

The arşiv komutu aşağıdaki maddeleri ve seçenekleri kabul eder:

· DAN

Verilerin nereden yükleneceği dosya adı veya HTTP URI'si. Bir HTTP URL'si verildiğinde, bağlantılı
dosya işlenmeden önce yerel olarak indirilecektir.

Eğer dosya bir zip dosya, komut satırı yardımcı programı halletmek genişletmek için kullanılır
içindeki dosyalara arşivle $ TMPDIRya da / Tmp if $ TMPDIR ayarlanmamış veya var olmayan bir
dizin.

Daha sonra arşivin bulunduğu üst seviye dizinden aşağıdaki komutlar kullanılır.
genişletildi.

· emretmek [ VE emretmek ... ]

Şu anda yalnızca arşivin içeriğine karşı bir dizi komut
CSV,SABİT ve DBF komutlar desteklenir.

Komutların yan tümceyi desteklediğini unutmayın. DAN DOSYA ADI EŞLEŞTİRME hangi izin verir
pgloader komutu, arşiv dizinlerinin tam adlarına bağlı değildir.

Aynı fıkra, yazım denetimi kullanılarak birkaç dosyaya da uygulanabilir. DAN HEPSİ
DOSYA ADLARI EŞLEŞTİRME ve düzenli bir ifade.

Bütün uygun madde aşağıdaki kurala uymalıdır:

[ TÜM DOSYA ADLARI | [ İLK ] DOSYA ADI ] EŞLEŞİYOR

· EN SONUNDA DO

Veriler yüklendikten sonra çalıştırılacak SQL Sorguları, örneğin CREATE INDEX.

YÜK MYSQL VERİTABANI


Bu komut, pgloader'a bir veritabanı bağlantısından veri yüklemesi talimatını verir. Tek
desteklenen veritabanı kaynağı şu anda MySQL, ve pgloader dinamik olarak dönüştürmeyi destekler
kaynak veritabanının şeması ve dizin oluşturma.

Varsayılan bir döküm kuralları seti sağlanır ve aşırı yüklenebilir ve aşağıdakiler tarafından eklenebilir:
Komut.

İşte bir örnek:

VERİTABANI YÜKLE
mysql'den://kök@localhost/sakila
INTO postgresql://localhost:54393/sakila

C bırakma dahil, tablolar oluşturun, dizinler oluşturun, dizileri sıfırlayın

Maintenance_work_mem'i '128MB' olarak ayarlayın,
work_mem'den '12MB'ye,
'sakila'ya giden search_path

CAST türü datetime to timestamptz drop varsayılan bırakma sıfırdan sıfıra kadar olan tarihler kullanılarak boş değil,
sıfır tarihler-boş tarih kullanarak varsayılan olarak tarih düşüşü değil boş bırakma yazın,
-- tinyint'ten boolean'a kullanarak tinyint'ten boole'ye yazın,
yılı tamsayıya yaz

GÖRÜŞLERİ MALZEME film_list, staff_list

-- SADECE EŞLEŞEN TABLO ADLARI DAHİL ~/film/, aktör
-- EŞLEŞEN TABLO ADLARI HARİÇ ~
-- KOD ÇÖZME TABLO ADLARI EŞLEŞTİRME ~/karıştırdı/, ~/kodlama/ utf8 olarak

YÜKLE YAPMADAN ÖNCE
$$ yoksa şema oluştur sakila; $$;

The veritabanı komutu aşağıdaki maddeleri ve seçenekleri kabul eder:

· DAN

MySQL veritabanına işaret eden bir bağlantı URL'si olmalıdır. Şu anda sadece MySQL
pgloader kaynağı olarak desteklenir.

Bağlantı URI'si bir tablo adı içeriyorsa, yalnızca bu tablo şuradan taşınır:
MySQL'den PostgreSQL'e.

· İLE

a'dan yüklenirken MySQL veritabanı, aşağıdaki seçenekler desteklenir ve
fay İLE cümlesi: yok hayır kesmek, yaratmak tablolar, dahil düşürmek, yaratmak indeksler, ayarlamak
dizileri, yabancı anahtarlar, küçük kasa tanımlayıcıları.

İLE seçenekleri:

· dahil düşürmek

Bu seçenek listelendiğinde, pgloader, hedef PostgreSQL'deki tüm tabloları bırakır.
adları SQLite veritabanında görünen veritabanı. Bu seçenek,
tüm seçenekleri bulana kadar aynı komutu arka arkaya birkaç kez
temiz bir ortamdan otomatik olarak Lütfen bunu not al CASCADE sağlamak için kullanılır
bu tablolar, onlara işaret eden yabancı anahtarlar olsa bile bırakılır. Bu
tam olarak ne dahil düşürmek yapılması amaçlanan: tüm hedef tabloları bırakın ve yeniden oluşturun
Onları.

Kullanırken çok dikkatli olunması gerekiyor dahil düşürmek, kademeli olarak herşey
muhtemelen olmayan diğer tablolar da dahil olmak üzere, hedef tablolara başvuran nesneler
kaynak DB'den yükleniyor.

· dahil yok hayır düşürmek

Bu seçenek listelendiğinde, pgloader herhangi bir seçenek içermeyecektir. DAMLA yüklenirken açıklama
veri.

· kesmek

Bu seçenek listelendiğinde, pgloader KIRMIZI her birine karşı komut
PostgreSQL tablosu, içine veri yüklemeden hemen önce.

· yok hayır kesmek

Bu seçenek listelendiğinde, pgloader sorun çıkarmaz. KIRMIZI Komut.

· Enable / Disable tetikler

Bu seçenek listelendiğinde, pgloader bir alter TABLO Kendi ID’n ile mağazalarını oluştur DEVRE DIŞI TRIGGER HEPSİ
Verileri kopyalamadan önce PostgreSQL hedef tablosuna karşı komut, ardından komut
alter TABLO Kendi ID’n ile mağazalarını oluştur ENABLE TRIGGER HEPSİ bir kere KOPYALA bitti.

Bu seçenek, verileri yok sayarak önceden var olan bir tabloya yüklemeye izin verir. yabancı anahtar
kısıtlamaları ve kullanıcı tanımlı tetikleyiciler ve geçersiz yabancı anahtar
kısıtlamaları veriler yüklendikten sonra. Dikkatli kullanın.

· yaratmak tablolar

Bu seçenek listelendiğinde, pgloader içinde bulunan meta verileri kullanarak tabloyu oluşturur.
the MySQL veri türüyle birlikte alanların bir listesini içermesi gereken dosya. Bir standart
DBF'den PostgreSQL'e veri türü dönüşümü yapılır.

· yaratmak yok hayır tablolar

Bu seçenek listelendiğinde, pgloader verileri yüklemeden önce tablo oluşturmayı atlar,
hedef tablolar zaten mevcut olmalıdır.

· yaratmak indeksler

Bu seçenek listelendiğinde, pgloader içinde bulunan tüm dizinlerin tanımlarını alır.
MySQL veritabanı ve PostgreSQL'e karşı aynı dizin tanımları kümesini oluşturun
veri tabanı.

· yaratmak yok hayır indeksler

Bu seçenek listelendiğinde, pgloader dizin oluşturma işlemini atlar.

· tekleştirmek indeks isimleri, korumak indeks isimleri

MySQL dizin adları tablo başına benzersizdir, oysa PostgreSQL'de dizin adları
benzersiz şema başına. pgloader için varsayılan, dizin adını önek ekleyerek değiştirmektir.
onunla idx_OID nerede OSB dizinin bulunduğu tablonun dahili sayısal tanımlayıcısıdır
karşı inşa edilmiştir.

DDL'nin tamamen bir çerçeveye bırakılması gibi bazı durumlarda mantıklı olabilir.
pgloader'ın, kullanılarak elde edilen benzersiz dizin adlarını işlemekten kaçınması için
the korumak indeks isimleri seçeneği.

Varsayılan tekleştirmek indeks isimleri.

Seçeneği kullanırken bile korumak indeks isimleri, MySQL birincil anahtar dizinleri
"PRİMARY" isimlerini benzersiz hale getirecek. Bunu yapmamak, birincil
dizin adlarının her biri için benzersiz olması gereken PostgreSQL'de yeniden oluşturulacak anahtarlar
şema.

· yabancı anahtarlar

Bu seçenek listelendiğinde, pgloader tüm yabancı anahtarların tanımlarını alır.
MySQL veritabanında bulunur ve buna karşı aynı yabancı anahtar tanımları kümesini oluşturur.
PostgreSQL veritabanı.

· yok hayır yabancı anahtarlar

Bu seçenek listelendiğinde, pgloader yabancı anahtar oluşturmayı atlar.

· ayarlamak dizileri

Bu seçenek listelendiğinde, veri yüklemesi sonunda ve indeksler oluşturulduktan sonra
tümü oluşturuldu, pgloader, oluşturulan tüm PostgreSQL dizilerini geçerli duruma sıfırlar
bağlı oldukları sütunun maksimum değeri.

Seçenekler plan bir tek ve veri bir tek bu seçenek üzerinde hiçbir etkisi yoktur.

· ayarlamak yok hayır dizileri

Bu seçenek listelendiğinde, pgloader yüklemeden sonra sıfırlama dizilerini atlar.

Seçenekler plan bir tek ve veri bir tek bu seçenek üzerinde hiçbir etkisi yoktur.

· küçük kasa tanımlayıcıları

Bu seçenek listelendiğinde, pgloader tüm MySQL tanımlayıcılarını (tablo adları,
dizin adları, sütun adları) küçük kasa, PostgreSQL hariç ayrılmış anahtar kelimeler.

PostgreSQL ayrılmış anahtar kelimeler sistem kullanılarak dinamik olarak belirlenir
işlev pg_get_keywords().

· alıntı yapmak tanımlayıcıları

Bu seçenek listelendiğinde, pgloader tüm MySQL tanımlayıcılarını alıntılar, böylece durumları
saygı duyulur. Daha sonra uygulamanızda aynı şeyi yapmanız gerekeceğini unutmayın.
kod sorguları.

· plan bir tek

Bu seçenek listelendiğinde, pgloader verileri aktarmaktan kaçınır. Bunu not et
bu bağlamdaki şema, seçenek olduğunda dizinleri içerir. yaratmak indeksler vardır
listelendi.

· veri bir tek

Bu seçenek listelendiğinde pgloader yalnızca KOPYALA ifadeler, herhangi bir işlem yapmadan
diğer işleme.

· CAST

Cast yan tümcesi, varsayılanı aşırı yüklemek için özel yayınlama kurallarını belirlemeye izin verir.
döküm kuralları veya özel durumlarla değiştirmek.

Bir döküm kuralının aşağıdaki şekillerden birini izlemesi beklenir:

tip [ ... ] ile [ ... ]
kolon . [ ] ile ...

için mümkün döküm kural bir MySQL veri türüyle veya bir
verilmiş sütun isim verilen tablo isim. Bu esneklik, aşağıdaki durumlarla başa çıkmanıza izin verir:
tip Tinyint olarak kullanılmış olabilir boole bazı durumlarda ama bir küçük tamsayı in
diğerleri.

The döküm kurallar sırayla uygulanırsa, ilk eşleşme aşağıdaki kuralların uygulanmasını engeller.
uygulanır ve önce kullanıcı tanımlı kurallar değerlendirilir.

Desteklenen korumalar şunlardır:

· ne zaman varsayılan değer

Döküm kuralı yalnızca kaynak türündeki MySQL sütunlarına uygulanır.
verilmiş değer, tek tırnaklı veya çift tırnaklı bir dize olmalıdır.

· ne zaman tür modu ifade

Döküm kuralı yalnızca kaynak türündeki MySQL sütunlarına uygulanır.
tür modu verilenle eşleşen değer tür modu ifade. tür modu kendi içinde ayrılır
hassas ve ölçek bileşenler.

Kullanan bir döküm kuralı örneği tür modu koruma:

typemod'u korumak için char yazın (= kesinlik 1)

Bu ifade MySQL'i yayınlar tank(1) sütun türünden bir PostgreSQL sütununa tank(1) süre
genel durum için izin karakter(N) varsayılan yayınlama kuralı tarafından bir
PostgreSQL türü varchar(N).

· ile ekstra otomatik artış

Döküm kuralı yalnızca aşağıdakilere sahip MySQL sütunlarına uygulanır: ekstra sütun
otomatik artış örneğin hedeflemek mümkün olacak şekilde seçenek kümesi seri ziyade
tamsayı.

Bu seçenek ayarlanmadığında varsayılan eşleştirme davranışı her iki sütunu da eşleştirmektir.
ekstra tanımı ile ve olmadan.

Bu, ikisinden birini hedefleyen bir yayınlama kuralı uygulamak istiyorsanız, seri or
tamsayı Bir gelen küçük tamsayı tanımına bağlı olarak otomatik artış fazladan biraz
MySQL'den bilgi alıyorsanız, aşağıdaki gibi iki döküm kuralını hecelemeniz gerekir:

ekstra auto_increment ile smallint yazın
seri bırakma typemod'a varsayılanı koru boş tutma,
küçük yazın
typemod'u tamsayıya düşürmek için varsayılanı koru boş tutma

Desteklenen döküm seçenekleri şunlardır:

· düşürmek varsayılan, tutmak varsayılan

Seçenek ne zaman düşürmek varsayılan listelenirse, pgloader mevcut herhangi bir varsayılan ifadeyi bırakır
kaynak türünün sütunları için MySQL veritabanında CREATE TABLO ifade
üretir.

Heceleme tutmak varsayılan bu davranışı açıkça engeller ve
varsayılan döküm kurallarını aşırı yükle.

· düşürmek değil boş, tutmak değil boş

Seçenek ne zaman düşürmek değil boş listelenir, pgloader mevcut olanları bırakır DEĞİL NULL
tabloları oluştururken verilen kaynak MySQL veri türüyle ilişkili kısıtlama
PostgreSQL veritabanında.

Heceleme tutmak değil boş bu davranışı açıkça engeller ve
varsayılan döküm kurallarını aşırı yükle.

· düşürmek tür modu, tutmak tür modu

Seçenek ne zaman düşürmek tür modu listelenir, pgloader mevcut olanları bırakır tür modu tanım
(Örneğin hassas ve ölçek) MySQL sütunlarında bulunan veri türü tanımından
PostgreSQL veritabanında tabloları oluşturduğunda kaynak türü.

Heceleme tutmak tür modu bu davranışı açıkça engeller ve
varsayılan döküm kurallarını aşırı yükle.

· kullanma

Bu seçenek, içinde bulunacak bir fonksiyonun adını tek argümanı olarak alır.
pgloader.dönüşümler Ortak Lisp paketi. Ayrıntılar için yukarıya bakın.

Varsayılan bir kullanım kuralını genişletmek mümkündür (örneğin, SIRALAMA
örneğin veri türü) ile dönüşüm işlev tamamen atlayarak tip
Aşağıdaki örnekte olduğu gibi, döküm kuralının bölümleri:

boş-dize-null kullanarak enumerate.foo sütunu

· GERÇEKLEŞTİRMEK GÖRÜNTÜLER

Bu madde, veri kaynağında özel veri işlemeyi şu şekilde gerçekleştirmenize izin verir:
sağlamak görünüm tanım hangi pgloader'ın verileri sorgulayacağı. Değil
sadece düz izin vermek mümkün SQL çünkü tam olarak hakkında çok şey bilmek istiyoruz
sorgu çıktısında yer alan her sütunun veri türleri.

Bu fıkra, her biri ya da olmak üzere virgülle ayrılmış bir görünüm tanımları listesi bekler
veritabanınızdaki mevcut bir görünümün adı veya aşağıdaki ifade:

isim AS $$ sql sorgu $$

The isim ve sql sorgu bir içinde kullanılacak CREATE VIEW başındaki açıklama
veri yükleniyor ve sonuçta ortaya çıkan görünüm, verilerin sonunda bırakılacak
Yükleniyor.

· GERÇEKLEŞTİRMEK HEPSİ GÖRÜNTÜLER

Aynı davranış GERÇEKLEŞTİRMEK GÖRÜNTÜLER tarafından döndürülen dinamik görünüm listesini kullanarak
Kullanıcıdan listeyi belirtmesini istemek yerine MySQL.

· DAHİL OLMAK ÜZERE BİR TEK TABLO İSİMLER EŞLEŞTİRME

Tablo adlarının virgülle ayrılmış bir listesini girin veya düzenli ifade sınırlamak için kullanılır
bir alt listeye taşınacak tablolar.

Örnek:

SADECE EŞLEŞEN TABLO ADLARI DAHİL ~/film/, aktör

· HARİÇ TABLO İSİMLER EŞLEŞTİRME

Tablo adlarının virgülle ayrılmış bir listesini girin veya düzenli ifade dışlamak için kullanılır
geçişten tablo adları. Bu filtre yalnızca sonucu için geçerlidir.
DAHİL OLMAK ÜZERE Filtre.

EŞLEŞEN TABLO ADLARI HARİÇ ~

· KOD ÇÖZME TABLO İSİMLER EŞLEŞTİRME

Tablo adlarının virgülle ayrılmış bir listesini girin veya düzenli ifade zorlamak için kullanılır
MySQL'den veri işlerken kullanılacak kodlama. Bildiğiniz veri kodlaması varsa
MySQL'in bu konudaki fikrinden farklıdır, kullanım seçeneği budur.

KOD ÇÖZME TABLO ADLARI EŞLEŞTİRME ~/karıştırdı/, ~/kodlama/ utf8 olarak

Hepsi muhtemelen farklı kodlamalarla, ihtiyaç duyduğunuz kadar çok kural kullanabilirsiniz.

KISITLAMALAR
The veritabanı komutu şu anda yalnızca MySQL kaynak veritabanını desteklemektedir ve aşağıdakilere sahiptir:
sınırlamalar:

· Görünümler taşınmaz,

Destekleyici görünümler, MySQL lehçesi için tam bir SQL ayrıştırıcısının uygulanmasını gerektirebilir
yeniden adlandırma dahil olmak üzere SQL'i PostgreSQL'e karşı yeniden yazmak için bir taşıma motoruyla
işlevler ve bazı yapıların değiştirilmesi.

Teorik olarak imkansız olmasa da, nefesinizi tutmayın.

· Tetikleyiciler taşınmaz

Bunu yapmanın zorluğu henüz değerlendirilmemiştir.

· ON GÜNCELLEME GEÇERLİ ZAMAN DALGASI şu anda taşınmıyor

Uygulanması yeterince basit, ancak henüz öncelik listesinde değil.

· Geometrik veri tiplerinden sadece POINT veritabanı ele alınmıştır. Diğerleri
şimdi uygulamak yeterince kolay olmalı, henüz yapılmadı.

DEFAULT MySQL DÖKÜM KURALLAR
MySQL'den geçiş yaparken aşağıdaki Döküm Kuralları sağlanır:

sayılar:

· int yazın fazladan auto_increment ile seri olarak (< kesinlik 10)

· int'yi ekstra auto_increment ile büyük seri olarak yazın (<= 10 kesinlik)

· ne zaman int'e int yazın (< kesinlik 10)

· ne zaman int bigint'e yazın (<= 10 kesinlik)

· seriye ekstra auto_increment ile tinyint yazın

· seriye ekstra auto_increment ile smallint yazın

· seriye ekstra auto_increment ile mediaint yazın

· büyük seriye ekstra auto_increment ile bigint yazın

· tinyint-boolean kullanıldığında (= 1 kesinlik) tinyint'ten boolean'a yazın

· tinyint'i smallint'e drop typemod'a yazın

· smallint'ten smallint'e drop typemod yazın

· mediaint'i tamsayı bırakma typemod'a yazın

· tamsayıdan tamsayıya düşme typemod yazın

· şamandıra yazın, şamandıra damla typemod'u

· bigint'i bigint drop typemod'a yazın

· çift ila çift hassas damla typemod yazın

· sayısaldan sayısala yazın, typemod'u koruyun

· ondalıktan ondalığa yazın, typemod'u koruyun

Metinler:

· typemod'u tutmak için varchar'a char yazın

· metne varchar yazın

· Tinytext'i metne yazın

· metni metne yazın

· metne orta metin yazın

· metne uzun metin yazın

İkili:

· bytea'ya ikili yazın

· varbinary'den bytea'ya yazın

· Tinyblob'u bytea'ya yazın

· blob'u bytea'ya yazın

· Mediumblob'u bytea'ya yazın

· bytea'ya longblob yazın

Tarih:

· varsayılan olarak "0000-00-00 00:00:00" olduğunda ve zaman damgasına boş bırakılmadığında tarih saat yazın
sıfır tarih-boş tarih kullanılarak varsayılan boş bırakma

· varsayılan olarak "0000-00-00 00:00:00" olduğunda datetime'ı kullanarak timestamptz drop varsayılanına yazın
sıfır-tarih-null

· varsayılan olarak "0000-00-00 00:00:00" olduğunda zaman damgası yazın ve zaman damgası bırakıldığında boş değil
sıfır tarih-boş tarih kullanılarak varsayılan boş bırakma

· varsayılan olarak "0000-00-00 00:00:00" olduğunda zaman damgasını kullanarak zaman damgasını düşürme varsayılanına yazın
sıfır-tarih-null

· varsayılan olarak "0000-00-00" olduğunda tarihi yazın, sıfırdan sıfıra kadar olan tarihi kullanarak varsayılan tarihe bırakın

· tarihe kadar tarih yazın

· datetime'ı timestamptz'a yazın

· zaman damgasını zaman damgasına yazın

· yılı tamsayı bırakma typemod'a yazın

Geometrik:

· pgloader.transforms::convert-mysql-point kullanarak noktadan noktaya yazın

Enum türleri MySQL'de satır içi ve ayrı olarak bir CREATE TİP emretmek
PostgreSQL, böylece Enum Type'ın her sütunu tablodan sonra adlandırılan bir türe dönüştürülür ve
aynı sırayla aynı etiketlerle tanımlanan sütun adları.

Kaynak türü tanımı, varsayılan yayınlama kurallarında veya
komutta belirtilen döküm kuralları, ardından typemod ile tür adı kullanılır.

YÜK SQLite VERİTABANI


Bu komut, pgloader'a bir SQLite dosyasından veri yüklemesini söyler. Otomatik keşif
dizinlerin oluşturulması da dahil olmak üzere şema desteklenir.

İşte bir örnek:

veritabanını yükle
sqlite:///Users/dim/Downloads/lastfm_tags.db adresinden
postgresql:///tags içine

dahil bırakma ile, tablolar oluşturun, dizinler oluşturun, dizileri sıfırlayın

work_mem'i '16MB', bakım_work_mem'i '512 MB' olarak ayarlayın;

The sqlite komutu aşağıdaki maddeleri ve seçenekleri kabul eder:

· DAN

SQLite dosyasının yolu veya HTTP URL'si, bir .zip dosyası.

· İLE

a'dan yüklenirken SQLite veritabanı, aşağıdaki seçenekler desteklenir:

a'dan yüklenirken SQLite veritabanı, aşağıdaki seçenekler desteklenir ve
varsayılan İLE cümlesi: yok hayır kesmek, yaratmak tablolar, dahil düşürmek, yaratmak indeksler,
ayarlamak dizileri, küçük kasa tanımlayıcıları, kodlama 'utf-8'.

· dahil düşürmek

Bu seçenek listelendiğinde, pgloader, hedef PostgreSQL'deki tüm tabloları bırakır.
adları SQLite veritabanında görünen veritabanı. Bu seçenek,
tüm seçenekleri bulana kadar aynı komutu arka arkaya birkaç kez
temiz bir ortamdan otomatik olarak Lütfen bunu not al CASCADE sağlamak için kullanılır
bu tablolar, onlara işaret eden yabancı anahtarlar olsa bile bırakılır. Bu
tam olarak ne dahil düşürmek yapılması amaçlanan: tüm hedef tabloları bırakın ve yeniden oluşturun
Onları.

Kullanırken çok dikkatli olunması gerekiyor dahil düşürmek, kademeli olarak herşey
muhtemelen olmayan diğer tablolar da dahil olmak üzere, hedef tablolara başvuran nesneler
kaynak DB'den yükleniyor.

· dahil yok hayır düşürmek

Bu seçenek listelendiğinde, pgloader herhangi bir seçenek içermeyecektir. DAMLA yüklenirken açıklama
veri.

· kesmek

Bu seçenek listelendiğinde, pgloader KIRMIZI her birine karşı komut
PostgreSQL tablosu, içine veri yüklemeden hemen önce.

· yok hayır kesmek

Bu seçenek listelendiğinde, pgloader sorun çıkarmaz. KIRMIZI Komut.

· Enable / Disable tetikler

Bu seçenek listelendiğinde, pgloader bir alter TABLO Kendi ID’n ile mağazalarını oluştur DEVRE DIŞI TRIGGER HEPSİ
Verileri kopyalamadan önce PostgreSQL hedef tablosuna karşı komut, ardından komut
alter TABLO Kendi ID’n ile mağazalarını oluştur ENABLE TRIGGER HEPSİ bir kere KOPYALA bitti.

Bu seçenek, verileri yok sayarak önceden var olan bir tabloya yüklemeye izin verir. yabancı anahtar
kısıtlamaları ve kullanıcı tanımlı tetikleyiciler ve geçersiz yabancı anahtar
kısıtlamaları veriler yüklendikten sonra. Dikkatli kullanın.

· yaratmak tablolar

Bu seçenek listelendiğinde, pgloader içinde bulunan meta verileri kullanarak tabloyu oluşturur.
the SQLite veri türüyle birlikte alanların bir listesini içermesi gereken dosya. Bir standart
DBF'den PostgreSQL'e veri türü dönüşümü yapılır.

· yaratmak yok hayır tablolar

Bu seçenek listelendiğinde, pgloader verileri yüklemeden önce tablo oluşturmayı atlar,
hedef tablolar zaten mevcut olmalıdır.

· yaratmak indeksler

Bu seçenek listelendiğinde, pgloader içinde bulunan tüm dizinlerin tanımlarını alır.
SQLite veritabanı ve buna karşı aynı dizin tanımları kümesini oluşturun.
PostgreSQL veritabanı.

· yaratmak yok hayır indeksler

Bu seçenek listelendiğinde, pgloader dizin oluşturma işlemini atlar.

· ayarlamak dizileri

Bu seçenek listelendiğinde, veri yüklemesi sonunda ve indeksler oluşturulduktan sonra
tümü oluşturuldu, pgloader, oluşturulan tüm PostgreSQL dizilerini geçerli duruma sıfırlar
bağlı oldukları sütunun maksimum değeri.

· ayarlamak yok hayır dizileri

Bu seçenek listelendiğinde, pgloader yüklemeden sonra sıfırlama dizilerini atlar.

Seçenekler plan bir tek ve veri bir tek bu seçenek üzerinde hiçbir etkisi yoktur.

· plan bir tek

Bu seçenek listelendiğinde, pgloader verileri taşımaktan kaçınacaktır. Not
bu bağlamdaki şema, seçenek olduğunda dizinleri içerdiğini yaratmak indeksler
listelenmiştir.

· veri bir tek

Bu seçenek listelendiğinde pgloader yalnızca KOPYALA ifadeler, herhangi bir işlem yapmadan
diğer işleme.

· kodlama

Bu seçenek, SQLite metin verilerinin hangi kodlamayla ayrıştırılacağının kontrol edilmesini sağlar.
Varsayılan olarak UTF-8'dir.

· CAST

Cast yan tümcesi, varsayılanı aşırı yüklemek için özel yayınlama kurallarını belirlemeye izin verir.
döküm kuralları veya özel durumlarla değiştirmek.

Ayrıntılar için lütfen MySQL CAST yan tümcesine bakın.

· DAHİL OLMAK ÜZERE BİR TEK TABLO İSİMLER EŞLEŞTİRME

Tablo adlarının virgülle ayrılmış bir listesini girin veya düzenli ifade sınırlamak için kullanılır
bir alt listeye taşınacak tablolar.

Örnek:

SADECE EŞLEŞEN TABLO ADLARI DAHİL ~/film/, aktör

· HARİÇ TABLO İSİMLER EŞLEŞTİRME

Tablo adlarının virgülle ayrılmış bir listesini girin veya düzenli ifade dışlamak için kullanılır
geçişten tablo adları. Bu filtre yalnızca sonucu için geçerlidir.
DAHİL OLMAK ÜZERE Filtre.

EŞLEŞEN TABLO ADLARI HARİÇ ~

DEFAULT SQLite DÖKÜM KURALLAR
SQLite'tan geçiş yaparken aşağıdaki Döküm Kuralları sağlanır:

sayılar:

· tinyint'ten smallint'e yazın

· tamsayıyı bigint'e yazın

· float-to-string kullanarak float yazın

· şamandıradan dizgeye kullanarak gerçekten gerçeğe yazın

· şamandıradan dizgeye kullanarak çift ila çift duyarlık yazın

· float-to-string kullanarak sayısaldan sayısala yazın

Metinler:

· karakterden metne yazma typemod bırakma

· metin bırakma typemod'a varchar yazın

· metin bırakma typemod'a nvarchar yazın

· metin bırakma typemod'a char yazın

· metin bırakma typemod'a nchar yazın

· metin bırakma typemod'a nvarchar yazın

· metin bırakma typemod'a clob yazın

İkili:

· blob'u bytea'ya yazın

Tarih:

· sqlite-timestamp-to-timestamp kullanarak datetime'ı timestamptz'a yazın

· sqlite-timestamp-to-timestamp kullanarak zaman damgasını zaman damgasına yazın

· sqlite-timestamp-to-timestamp kullanarak timestamptz'ı timestamptz'a yazın

YÜK MS SQL VERİTABANI


Bu komut, pgloader'a bir MS SQL veritabanından veri yüklemesi talimatını verir. Otomatik keşif
dizinlerin oluşturulması, birincil ve yabancı anahtarlar dahil olmak üzere şemanın desteklenir
kısıtlamaları.

İşte bir örnek:

veritabanını yükle
mssql://user@host/dbname adresinden
postgresql:///dbname içine

'dbo' şemasında yalnızca 'GlobalAccount' gibi tablo adları dahil

work_mem'i '16MB', bakım_work_mem'i '512 MB' olarak ayarlayın

yüklemeden önce $$ varsa şemayı bırakın dbo cascade; $$;

The MSSQL komutu aşağıdaki maddeleri ve seçenekleri kabul eder:

· DAN

Dinleyen ve karşılayan mevcut bir MS SQL veritabanı sunucusuna bağlantı dizesi
harici TCP/IP bağlantısı. pgloader şu anda FreeTDS sürücüsüne bindirildiğinden,
sunucunun portunu değiştirin lütfen TDSPORT Çevre değişkeni.

· İLE

a'dan yüklenirken MS SQL bir veritabanı yüklerken olduğu gibi aynı seçenekler MySQL veritabanı
Desteklenmektedir. Lütfen MySQL bölümüne bakın. Aşağıdaki seçenekler eklenir:

· yaratmak şemalar

Bu seçenek listelendiğinde, pgloader MS SQL'de bulunan şemaların aynısını oluşturur.
misal. Bu varsayılandır.

· yaratmak yok hayır şemalar

Bu seçenek listelendiğinde, pgloader herhangi bir şema oluşturmaktan kesinlikle kaçınır,
daha sonra hedef şemanın var olduğundan emin olmalıdır.

· CAST

Cast yan tümcesi, varsayılanı aşırı yüklemek için özel yayınlama kurallarını belirlemeye izin verir.
döküm kuralları veya özel durumlarla değiştirmek.

Ayrıntılar için lütfen MySQL CAST yan tümcesine bakın.

· DAHİL OLMAK ÜZERE BİR TEK TABLO İSİMLER GİBİ '...' [, `...'] IN ŞEMA '...'

Tabloları aşağıdakilerle sınırlamak için kullanılan tablo adı modellerinin virgülle ayrılmış bir listesini tanıtın.
bir alt listeye geçiş yapın. Birden fazla bu tür ibare kullanılabilir, bunlar biriktirilecektir.
birlikte.

Örnek:

'dbo' şemasında yalnızca 'GlobalAccount' tablo adları dahil

· HARİÇ TABLO İSİMLER GİBİ '...' [, `...'] IN ŞEMA '...'

Tablo adlarını hariç tutmak için kullanılan tablo adı modellerinin virgülle ayrılmış bir listesini tanıtın
göçten. Bu filtre yalnızca sonucu için geçerlidir. DAHİL OLMAK ÜZERE Filtre.

'dbo' şemasında 'LocalAccount' ile EŞLEŞEN TABLO ADLARI HARİÇ

DEFAULT MS SQL DÖKÜM KURALLAR
MS SQL'den geçiş yaparken aşağıdaki Döküm Kuralları sağlanır:

sayılar:

· tinyint'ten smallint'e yazın

· float-to-string kullanarak float yazın

· şamandıradan dizgeye kullanarak gerçekten gerçeğe yazın

· şamandıradan dizgeye kullanarak çift ila çift duyarlık yazın

· float-to-string kullanarak sayısaldan sayısala yazın

· float-to-string kullanarak ondalık sayıyı sayısala yazın

· float-to-string kullanarak parayı sayısal olarak yazın

· float-to-string kullanarak küçük paradan sayısala yazın

Metinler:

· metin bırakma typemod'a char yazın

· metin bırakma typemod'a sohbet yazın

· metin bırakma typemod'a varchar yazın

· metin bırakma typemod'a nvarchar yazın

· text drop typemod'a xml yazın

İkili:

· byte-vektör-bytea kullanarak ikiliyi bytea yazın

· byte-vektör-bytea kullanarak değişkeni bytea yazın

Tarih:

· datetime'ı timestamptz'a yazın

· datetime2'yi timestamptz'a yazın

Diğerleri:

· biti boole olarak yazın

· bayt için hiyerarşi kimliği yazın

· coğrafyayı bytea yazın

· sql-server-uniqueidentifier-to-uuid kullanarak benzersiz tanımlayıcıyı uuid'e yazın

DÖNÜŞÜM FONKSİYONLAR


Bazı veri türleri, bir dönüştürme işlevinden yeterince farklı bir şekilde uygulanır.
gerekli. Bu fonksiyon yazılmalıdır. ortak yanlış telaffuz ve içinde aranır
pgloader.dönüşümler paketi.

Bazı varsayılan dönüştürme işlevleri pgloader ile sağlanır ve
--yük kendi lisp dosyanızı pgloader'a yüklemek ve derlemek için komut satırı seçeneği
Çalışma süresi. İşlevlerinizin bulunması için, lisp dosyanıza şu komutla başlamayı unutmayın:
aşağıdaki form:

(paket içi #:pgloader.transforms)

Sağlanan dönüşüm işlevleri şunlardır:

· sıfır-tarih-null

Girilen tarihin tamamı sıfır olduğunda, geri dön sıfırPostgreSQL olarak yüklenen NULL
değeri.

· ayırıcısız tarih

Uygulandığı sıfır-tarih-null ardından verilen tarihi PostgreSQL'in
aslında işleyecek:

İçinde: "20041002152952"
Out: "2004-10-02 15:29:52"

· ayırıcısız zaman

Verilen zamanı PostgreSQL'in gerçekten işleyeceği bir biçime dönüştürün:

İçinde: "08231560"
Çıkış: "08:23:15.60"

· minikten boole

MySQL uygun bir boole türünden yoksun olduğundan, Tinyint genellikle bunu uygulamak için kullanılır. Bu
fonksiyon dönüşümleri 0 için YANLIŞ ve başka bir şey doğru'.

· bitten boole

MySQL uygun bir boole türünden yoksun olduğundan, BIT genellikle bunu uygulamak için kullanılır. Bu
işlevi, 1 bitlik vektörleri 0 için f ve diğer herhangi bir değer t..

· int-ip

Bir tamsayıyı bir ip4'ün noktalı temsiline dönüştürün.

İçinde: 18435761
Çıkış: "1.25.78.177"

· Ip aralığı

Dize olarak verilen birkaç tamsayıyı bir ip4 aralığına dönüştürür.

İçinde: "16825344" "16825599"
Çıkış: "1.0.188.0-1.0.188.255"

· dönüştürmek-mysql-noktası

Şundan dönüştürür: astext MySQL'deki noktaların PostgreSQL'e temsili
temsilidir.

İçinde: "NOKTA(48.5513589 7.6926827)"
Çıkış: "(48.5513589,7.6926827)"

· dizgeye kayan

Bir Common Lisp kayan noktayı PostgreSQL kayan nokta için uygun bir dizgeye dönüştürür:

İçinde: 100.0d0
Çıkış: "100.0"

· set-to-enum-dizi

MySQL SET'ini temsil eden bir dizgiyi, aşağıdakilerden bir PostgreSQL Enum değerlerine dönüştürür.
set.

İçinde: "foo, bar"
Çıkış: "{foo,bar}"

· boş-dize-null

Boş bir dizeyi boş bir dizeye dönüştürün.

· sağdan düzeltme

Dize sonundaki boşlukları kaldırın.

· bayt-vektör-bytea

Basit bir imzasız bayt dizisini PostgreSQL bytea Hex Formatına dönüştürün
belgelendiği gibi temsil
http://www.postgresql.org/docs/9.3/interactive/datatype-binary.html

· sqlite-zaman damgasından-zaman damgasına

SQLite tipi sistem oldukça ilginçtir, bu yüzden zaman damgası üretmek için burada onunla başa çıkın
PostgreSQL tarafından beklendiği gibi değişmezler. Bu, yalnızca 4 basamaklı yılı kapsar, 0 tarih
null ve uygun tarih dizeleri.

· sql-sunucu-benzersiztanımlayıcı-uuid'ye

SQL Server sürücüsü, benzersiz tanımlayıcı türü için verileri bayt vektörü olarak alır.
daha sonra PostgreSQL COPY giriş formatının işlenmesi için bir UUID dizgisine dönüştürmeniz gerekir.

· unix-zaman damgasından zaman damgasına-zaman damgası

Unix zaman damgasını (1970'in başından beri geçen saniye sayısı) bir
uygun PostgreSQL zaman damgası formatı.

YÜK MESAJLARI


Bu komut hala deneyseldir ve bir syslog kullanarak UDP aracılığıyla mesajların alınmasına izin verir.
biçime benzer ve kural eşleşmesine bağlı olarak, veri akışının adlandırılmış kısımlarını
bir hedef tablo.

YÜK MESAJLARI
syslog'dan://localhost:10514/

Apache'DE rsyslog-msg ile EŞLEŞTİĞİNDE
KAYIT zaman damgası, ip, dinlenme
postgresql://localhost/db?logs.apache içine
SET guc_1 = 'değer', guc_2 = 'diğer değer'

Diğerlerinde rsyslog-msg EŞLEŞTİĞİNDE
KAYIT zaman damgası, uygulama adı, veri
postgresql://localhost/db?logs.others İÇİNDE
SET guc_1 = 'değer', guc_2 = 'diğer değer'

apache İLE = rsyslog
VERİ = IP DİNLENME
IP = 1*3HANGİ "." 1*3 HANGİ "."1*3HANGİ "."1*3HANGİ
DİNLENME = ~ /.*/

diğerleri İLE = rsyslog;

Komut hala deneysel olduğundan, seçenekler gelecekte değiştirilebilir ve
ayrıntılar belgelenmemiştir.

onworks.net hizmetlerini kullanarak pgloader'ı çevrimiçi kullanın



En yeni Linux ve Windows çevrimiçi programları