GoGPT Best VPN GoSearch

Favicon OnWorks

pgloader - Online în cloud

Rulați pgloader în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda pgloader care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


pgloader - Încărcător de date PostgreSQL

REZUMAT


pgloader [ ] [ ]...
pgloader [ ] ȚINTĂ SURSA

DESCRIERE


pgloader încarcă date din diverse surse în PostgreSQL. Poate transforma datele
citește din mers și trimite SQL brut înainte și după încărcare. Acesta folosește COPIE
Protocolul PostgreSQL pentru a transmite datele în server și gestionează erorile prin completarea a
pereche de respinge.dat și respinge.log fișiere.

pgloader operează fie folosind comenzi care sunt citite din fișiere:

comenzi pgloader.încărcare

sau folosind argumente și opțiuni toate furnizate pe linia de comandă:

pgloader SOURCE TARGET

ARGUMENTE


Argumentele pgloader pot fi atâtea fișiere de încărcare cât este necesar, sau câteva conexiuni
șiruri de caractere la un anumit fișier de intrare.

SOURCE CONEXIUNEA STRING
Formatul șirului de conexiune la sursă este următorul:

format:///absolut/path/to/file.ext
format://./relative/path/to/file.ext

Unde formatul ar putea fi unul dintre csv, fixată, copiaţi, DBF, db3 or ixf.

db://user:pass@host:port/dbname

Unde ar putea fi db sqlite, MySQL or mssql.

Când utilizați un format sursă bazat pe fișiere, pgloader acceptă și preluarea fișierului în mod nativ
dintr-o locație http și decomprimarea unei arhive dacă este necesar. In acest caz este necesar
să folosească --tip opțiunea de a specifica formatul așteptat al fișierului. Vezi exemplele
de mai jos.

De asemenea, rețineți că unele formate de fișiere necesită descrierea unor detalii de implementare, cum ar fi
coloane de citit și delimitatori și ghilimele la încărcarea din csv.

Pentru scenarii de încărcare mai complexe, va trebui să scrieți o comandă de încărcare completă
sintaxa descrisă mai târziu în acest document.

ŢINTĂ CONEXIUNEA STRING
Formatul șirului de conexiune țintă este descris în detalii mai târziu în acest document, vezi
Secțiunea șir de conexiune.

OPŢIUNI


ANCHETĂ OPŢIUNI
Utilizați aceste opțiuni atunci când doriți să aflați mai multe despre cum să utilizați pgloader, ca acele opțiuni
va cauza pgloader sa nu incarce date.

-h, --Ajutor
Afișați rezumatul utilizării comenzii și ieșiți.

-V, --versiune
Afișați șirul versiunii pgloader și ieșiți.

-E, --list-encodings
Listați codificări cunoscute în această versiune de pgloader.

-U, --upgrade-config
Analizați fișierele date în linia de comandă ca pgloader.conf fișiere cu START sintaxă
care a fost folosit în versiunile pgloader 2.x și a scos noua sintaxă a comenzii pentru
pgloader pe ieșire standard.

GENERAL OPŢIUNI
Aceste opțiuni sunt menite să modifice pgloader comportament la încărcarea datelor.

-v, --verbos
Fii verbis.

-q, --Liniște
Liniște.

-d, --depanare
Afișați mesaje cu informații despre nivelul de depanare.

-D, --root-dir
Setați directorul de lucru rădăcină (implicit la „/tmp/pgloader”).

-L, --fișier jurnal
Setați fișierul jurnal pgloader (implicit la „/tmp/pgloader.log”).

--log-min-mesaje
Nivelul minim de verbozitate necesar pentru ca mesajul jurnal să ajungă în fișierul jurnal. Unul dintre
critic, jurnal, eroare, avertizare, notificare, informații sau depanare.

--client-min-mesaje
Nivelul minim de verbozitate necesar pentru ca mesajul de jurnal să ajungă la consolă. Unul dintre
critic, jurnal, eroare, avertizare, notificare, informații sau depanare.

-S, --rezumat
Un nume de fișier în care să copiați rezultatul rezumat. Când este relativ, numele fișierului este
extins în *root-dir*.

Formatul numelui fișierului este implicit uman care poate fi citit. Este posibil sa ai
ieșirea în formate prietenoase cu mașina, cum ar fi CSV, COPIE (Copie proprie a PostgreSQL
format) sau JSON prin specificarea unui nume de fișier cu extensia resp. .csv, .copie or
.json.

-l , --load-lisp-file
Specificați o ciocnire fişier pentru a compila și încărca în imaginea pgloader înainte de a citi
comenzi, permițând definirea funcției de transformare suplimentare. Aceste funcții ar trebui
fi definit în pgloader.transforms pachet. Această opțiune poate apărea mai mult decât
o dată în linia de comandă.

--auto-upgrade :

Specificați a director unde să găsești surse pgloader, astfel încât una dintre primele
lucrurile pe care le face sunt încărcarea dinamică (și compilarea în codul mașinii) alta
versiune a lui însuși, de obicei una mai nouă, cum ar fi un git checkout foarte recent.

COMMAND LINE NUMAI OPERAȚII
Aceste opțiuni sunt menite să fie utilizate atunci când sunt utilizate pgloader din linia de comandă, mai degrabă
decât folosind un fișier de comandă și clauzele de comandă bogate și analizatorul. În cazuri simple, se poate
fi mult mai ușor de utilizat SOURCE și ŢINTĂ direct pe linia de comandă, apoi modificați
se încarcă cu acele opțiuni:

· --cu "opțiune":

Permite setarea opțiunilor din linia de comandă. Puteți folosi această opțiune de câte ori
tu vrei. Argumentele opțiunii trebuie să urmeze CU clauză pentru tipul sursă al
SOURCE specificație, așa cum este descris mai târziu în acest document.

· --a stabilit „guc_name=´valoare’”

Permite setarea configurației PostgreSQL din linia de comandă. Rețineți că opțiunea
parsarea este aceeași ca atunci când este folosită din SET clauză de comandă, în special trebuie
includeți valoarea guc cu ghilimele simple.

· --camp "..."

Permite setarea unei definiții de câmp sursă. Câmpurile sunt acumulate în ordinea dată
linia de comandă. Este posibil să folosiți fie a --camp opțiune pentru fiecare câmp din sursă
sau pentru a separa definițiile câmpurilor printr-o virgulă, așa cum ați proceda în fișierul AVÂND
CÂMPURI clauză.

· --turnată "..."

Permite setarea unei anumite reguli de casting pentru încărcarea datelor.

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

Permite forțarea tipului sursei, în cazul în care SOURCE parsarea nu este satisfăcătoare.

· --codare

Setați codificarea fișierului sursă din care să încărcați datele.

· --inainte de

Analizați numele fișierului dat pentru interogări SQL și rulați-le pe baza de date țintă înainte
încărcarea datelor din sursă. Interogările sunt analizate de pgloader însuși: au nevoie
să fie terminat cu punct și virgulă (;) și fișierul poate include \i or \ir comenzi pentru
include alt dosar.

· --după

Analizați numele fișierului dat pentru interogări SQL și rulați-le după baza de date țintă
după ce au încărcat datele din sursă. Interogările sunt analizate în același mod ca și cu
il --inainte de opțiune, vezi mai sus.

MAI MULT REMEDIERE INFORMAŢII
Pentru a obține cantitatea maximă de informații de depanare, puteți utiliza atât --verbos si
--depanare comută în același timp, ceea ce este echivalent cu a spune --client-min-mesaje
de date. Apoi mesajele de jurnal vor arăta datele în curs de procesare, în cazurile în care
codul are suport explicit pentru el.

UTILIZARE EXEMPLE


Examinați opțiunile liniei de comandă și versiunea pgloader:

pgloader --help
pgloader --version

încărcare de la a complex comandă
Utilizați fișierul de comandă ca argument al comenzii pgloader, pgloader va analiza acel fișier și
executați comenzile găsite în el:

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

CSV
Încărcați date dintr-un fișier CSV într-un tabel preexistent în baza de date:

pgloader --type csv \
--field id --field field \
--cu trunchiare \
--cu „câmpuri terminate cu ´,´” \
./test/data/matching-1.csv \
postgres:///pgloader?tablename=matching

În acel exemplu, întreaga încărcare este condusă de la linia de comandă, ocolind nevoia de
scrierea unei comenzi în sintaxa comenzii pgloader în întregime. Deoarece nu există nicio comandă, totuși,
informațiile suplimentare necesare trebuie furnizate pe linia de comandă folosind --tip și
--camp și --cu comutatoare.

Pentru documentație despre sintaxele disponibile pentru --camp și --cu comutatoare, te rog
consultați secțiunea CSV mai târziu în pagina de manual.

Rețineți, de asemenea, că URI-ul PostgreSQL include ținta tablename.

Citind de la Stdin
Sursele pgloader bazate pe fișiere pot fi încărcate de la intrarea standard, ca în cele ce urmează
exemplu:

pgloader --type csv \
--câmpul „usps,geoid,aland,awater,aland_sqmi,awater_sqmi,intptlat,intptlong” \
--cu „săriți antetul = 1” \
--cu „câmpurile terminate cu ´\t´” \
-\
postgresql:///pgloader?districts_longlat \
< test/data/2013_Gaz_113CDs_national.txt

liniuta (-) caracter ca sursă este folosit pentru a însemna standard intrare, ca de obicei în Unix
linii de comandă. Este posibil să transmiteți conținut comprimat către pgloader cu această tehnică,
folosind conducta Unix:

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

încărcare de la CSV disponibil prin HTTP
Aceeași comandă ca cea de mai sus poate fi executată și dacă fișierul CSV se găsește pe un
locație HTTP la distanță:

pgloader --type csv \
--câmpul „usps,geoid,aland,awater,aland_sqmi,awater_sqmi,intptlat,intptlong” \
--cu „săriți antetul = 1” \
--cu „câmpurile terminate cu ´\t´” \
http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt \
postgresql:///pgloader?districts_longlat

Mai multe opțiuni trebuie utilizate în acest caz, deoarece fișierul conține un antet de o linie
(cel mai frecvent acestea sunt numele de coloane, ar putea fi o notificare privind drepturile de autor). De asemenea, în acest caz, noi
specificați toate câmpurile într-un singur --camp argumentul opțiunii.

Din nou, șirul de conexiune țintă PostgreSQL trebuie să conțină tablename opțiunea și tu
trebuie să se asigure că tabelul țintă există și se poate potrivi cu datele. Iată comanda SQL
folosit în acel exemplu în cazul în care doriți să îl încercați singur:

creați tabel districts_longlat
(
text usps,
text geoid,
aland bigint,
un bigint de apă,
aland_sqmi dublă precizie,
awater_sqmi dublă precizie,
intptlat dublă precizie,
intptlong dublă precizie
);

De asemenea, observați că aceeași comandă va funcționa împotriva unei versiuni arhivate a acelorași date,
de exemplu http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz.

În cele din urmă, este important să rețineți că pgloader preia mai întâi conținutul de la adresa URL HTTP
într-un fișier local, apoi extindeți arhiva când este recunoscută ca fiind una și numai atunci
procesează fișierul extins local.

În unele cazuri, fie pentru că pgloader nu are suport direct pentru formatul dvs. de arhivă sau
poate pentru că extinderea arhivei nu este fezabilă în mediul dumneavoastră, ați dori să o faceți
curent conținutul direct din locația sa la distanță în PostgreSQL. Iată cum se procedează
asta, folosind vechiul truc Unix Pipes testat în luptă:

răsuci http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz \
| gunzip -c \
| pgloader --type csv \
--câmpul „usps,geoid,aland,awater,aland_sqmi,awater_sqmi,intptlat,intptlong”
--cu „săriți antetul = 1” \
--cu „câmpurile terminate cu ´\t´” \
-\
postgresql:///pgloader?districts_longlat

Acum sistemul de operare se va ocupa de transmiterea în flux și buffering între rețea și
comenzile și pgloader se vor ocupa de transmiterea datelor către PostgreSQL.

Migrarea de la SQLite
Următoarea comandă va deschide baza de date SQLite, va descoperi definițiile tabelelor acesteia
inclusiv indexuri și chei străine, migrați aceste definiții în timp ce aruncare tipul de date
specificațiile la echivalentul lor PostgreSQL și apoi migrați datele prin:

createb newdb
pgloader ./test/sqlite/sqlite.db postgresql:///newdb

Migrarea de la MySQL
Doar creați o bază de date unde să găzduiți datele și definițiile MySQL și puneți pgloader-ul să facă
migrarea pentru tine într-o singură linie de comandă:

creatb pagila
pgloader mysql://user@localhost/sakila postgresql:///pagila

Aducând an arhivate dbf fişier de la a HTTP la distanta locaţie
Este posibil ca pgloader să descarce un fișier de pe HTTP, să îl dearhiveze și numai apoi să îl deschidă
pentru a descoperi schema, apoi încărcați datele:

creatb foo
pgloader --type dbf http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/historiq2013.zip postgresql:///foo

Aici nu este posibil ca pgloader să ghicească tipul de sursă de date care i se oferă, deci
este necesar să folosiți --tip comutator de linie de comandă.

LOTURILE AND REÎNCEPE COMPORTAMENT


Pentru a încărca date în PostgreSQL, pgloader folosește COPIE protocol de streaming. În timp ce acesta este
mod mai rapid de a încărca date, COPIE are un dezavantaj important: de îndată ce PostgreSQL emite un
eroare cu orice bit de date trimis la acesta, oricare ar fi problema, este întregul set de date
respins de PostgreSQL.

Pentru a rezolva asta, pgloader taie datele în loturi de 25000 de rânduri fiecare, astfel încât când
apare o problemă care afectează doar atâtea rânduri de date. Fiecare lot este păstrat în memorie
in timp ce COPIE streaming are loc, pentru a putea gestiona erorile în cazul în care se întâmplă unele.

Când PostgreSQL respinge întregul lot, pgloader înregistrează mesajul de eroare, apoi izolează
rânduri greșite din cele acceptate prin reîncercarea rândurilor grupate în loturi mai mici. A face
că, pgloader analizează CONTEXT mesaj de eroare de la COPIA eșuată, ca mesaj
conține numărul rândului în care a fost găsită eroarea în lot, ca în cele ce urmează
exemplu:

CONTEXT: erori de COPIERE, rândul 3, coloana b: „2006-13-11”

Folosind aceste informații, pgloader va reîncărca toate rândurile din lot înaintea celor eronate
unul, înregistrați-l pe cel eronat ca respins, apoi încercați să încărcați restul lotului în a
o singură încercare, care poate conține sau nu alte date eronate.

La sfârșitul unei încărcări care conține rânduri respinse, veți găsi două fișiere în root-dir
locație, sub un director numit la fel ca baza de date țintă a configurației dvs. The
numele de fișiere sunt tabelul țintă, iar extensiile lor sunt DAT pentru datele respinse și
.log pentru fișierul care conține jurnalele complete ale clientului PostgreSQL despre datele respinse.

DAT fișierul este formatat în PostgreSQL formatul COPY text așa cum este documentat în
http://www.postgresql.org/docs/9.2/static/sql-copy.html#AEN66609 .

A NOTĂ DESPRE NOI PERFORMANŢĂ


pgloader a fost dezvoltat având în vedere performanțe, pentru a putea face față vreodată
nevoi tot mai mari de încărcare a unor cantități mari de date în PostgreSQL.

Arhitectura de bază pe care o folosește este vechiul model de conducte Unix, în care un fir este responsabil
pentru încărcarea datelor (citirea unui fișier CSV, interogarea MySQL etc.) și completări preprocesate
date într-o coadă. Un alt thread se alimentează din coadă, mai aplicați câteva transformări
la datele de intrare și transmiteți rezultatul final către PostgreSQL utilizând protocolul COPY.

Când i se oferă un fișier pe care PostgreSQL COPIE comanda știe cum să analizeze și dacă fișierul
nu conține date eronate, atunci pgloader nu va fi niciodată la fel de rapid ca doar folosind
PostgreSQL COPIE comanda.

Rețineți că, în timp ce COPIE comanda este restricționată pentru a citi fie din intrarea sa standard, fie
dintr-un fișier local de pe sistemul de fișiere al serverului, instrumentul de linie de comandă psql implementează a
\copie comandă care știe cum să transmită un fișier local către client prin rețea și
în serverul PostgreSQL, folosind același protocol pe care îl folosește pgloader.

SOURCE FORMATE


pgloader acceptă următoarele formate de intrare:

· csv, care include, de asemenea, tsv și alte variante comune în care puteți modifica
separator si citând reguli și cum să scăpa il Citate înșiși;

· fișier cu coloane fixe, unde pgloader este suficient de flexibil pentru a se potrivi cu fișierele sursă
coloane lipsă (zdrențuită fixată lungime coloană fișiere exista);

· Fișiere formatate PostgreSLQ COPY, urmând documentația COPY TEXT a PostgreSQL,
precum fișierele de respingere pregătite de pgloader;

· fișiere dbase cunoscute ca fișier db3 sau dbf;

· fișiere formatate ixf, ixf fiind un format de stocare binar de la IBM;

· baze de date sqlite cu descoperire complet automatizată a schemei și reguli avansate de distribuție;

· baze de date mysql cu descoperire complet automatizată a schemei și reguli avansate de distribuție;

· Baze de date MS SQL cu descoperire complet automatizată a schemei și reguli avansate de distribuție.

PGLOADER COMANDE SINTAXĂ


pgloader implementează un limbaj specific domeniului care permite configurarea încărcării complexe a datelor
scripturi care gestionează coloanele calculate și igienizarea din mers a datelor de intrare. Pentru mai mult
scenarii complexe de încărcare a datelor, vi se va cere să aflați sintaxa DSL-ului respectiv. Este
menit să pară familiar DBA, fiind inspirat de SQL acolo unde are sens, ceea ce nu este
atat pana la urma.

Comenzile pgloader urmează aceleași reguli gramaticale globale. Fiecare dintre ei ar putea susține
doar un subset al opțiunilor generale și oferă opțiuni specifice.

SARCINĂ
DIN [ AVÂND CÂMPURI ]
ÎN [ COLONI ȚINTĂ ]

[ CU ]

[ A STABILIT ]

[ ÎNAINTE DE ÎNCĂRCARE [ DO | A EXECUTA ] ... ]
[ DUPĂ ÎNCĂRCARE [ DO | A EXECUTA ] ... ]
;

Principalele clauze sunt LOAD, DIN, ÎN și CU clauzele pe care fiecare comandă le implementează.
O comandă apoi implementează SET comanda, sau unele clauze specifice, cum ar fi CAST
clauză.

COMUNĂ CLAUZE


Unele clauze sunt comune tuturor comenzilor:

· DIN

DIN clauza specifică de unde să citească datele și fiecare comandă le introduce
varianta proprie a surselor. De exemplu, cel CSV sursă suportă inline, stdin, A
nume de fișier, un nume de fișier citat și a NUME DE FIȘIER ASOCIARE clauza (vezi mai sus); întrucât
MySQL sursa acceptă doar o specificație URI a bazei de date MySQL.

În toate cazurile, DIN clauza este capabilă să-și citească valoarea dintr-o variabilă de mediu
la utilizarea formularului GETENV „varname”..

· ÎN

URI-ul de conexiune PostgreSQL trebuie să conțină numele tabelului țintă unde să se încarce
datele în. Tabelul trebuie să fi fost deja creat în PostgreSQL și numele
ar putea fi calificat schema.

ÎN URI-ul conexiunii la baza de date țintă poate fi analizat din valoarea unui mediu
variabilă la utilizarea formularului GETENV „varname”..

"Atunci ÎN opțiunea acceptă și o listă opțională separată prin virgulă de coloane țintă,
care sunt fie numele unei intrări camp sau lista cu spații albe separate a
numele coloanei țintă, tipul său de date PostgreSQL și a UTILIZAREA expresie.

UTILIZAREA expresia poate fi orice formă Common Lisp validă și va fi citită cu
pachetul curent setat la pgloader.transforms, astfel încât să puteți utiliza funcțiile definite în
acel pachet, cum ar fi funcțiile încărcate dinamic cu --sarcină Linie de comanda
parametru.

Fiecare UTILIZAREA expresia este compilată în timpul execuției în cod nativ.

Această caracteristică permite pgloader să încarce orice număr de câmpuri dintr-un fișier CSV într-un
posibil număr diferit de coloane din baza de date, folosind cod personalizat pentru asta
proiecție.

· CU

Set de opțiuni de aplicat comenzii, folosind o sintaxă globală:

· cheie = valoare

· utilizare opțiune

· do nu utilizare opțiune

Consultați fiecare comandă specifică pentru detalii.

· SET

Această clauză permite specificarea parametrilor de sesiune de setat pentru toate sesiunile deschise
de pgloader. Se așteaptă o listă cu numele parametrului, semnul egal, apoi
valoare cu ghilimele simple ca o listă separată prin virgulă.

Numele și valorile parametrilor nu sunt validate de pgloader, sunt date
așa cum este la PostgreSQL.

· INAINTE DE LOAD DO

Puteți rula interogări SQL în baza de date înainte de a încărca datele din CSV
fişier. Cele mai comune interogări SQL sunt CREATE TABEL IF NU EXISTĂ astfel încât datele să poată fi
încărcat.

Fiecare comandă trebuie să fie cotat în dolari: trebuie să înceapă și să se termine cu un semn dublu dolar,
$$. Interogările cotate în dolari sunt apoi separate prin virgulă. Nu se așteaptă semne de punctuație suplimentare
după ultima interogare SQL.

· INAINTE DE LOAD A EXECUTA

Același comportament ca și în INAINTE DE LOAD DO clauză. Vă permite să citiți interogările SQL
dintr-un fișier SQL. Implementează suport pentru cotarea în dolari PostgreSQL și pentru \i și \ir
include facilități ca în psql modul lot (unde sunt același lucru).

· DUPA LOAD DO

Același format ca INAINTE DE LOAD DO, interogările cotate în dolari găsite în acea secțiune sunt
executat odată ce încărcarea este terminată. Acesta este momentul potrivit pentru a crea indici și
constrângeri sau reactivați declanșatorii.

· DUPA LOAD A EXECUTA

Același comportament ca și în DUPA LOAD DO clauză. Vă permite să citiți interogările SQL din
un fișier SQL. Implementează suport pentru cotarea în dolari PostgreSQL și pentru \i și \ir
include facilități ca în psql modul lot (unde sunt același lucru).

Conexiune Şir
parametrul este de așteptat să fie dat ca a Conexiune URI așa cum este documentat
în documentația PostgreSQL la
http://www.postgresql.org/docs/9.3/static/libpq-connect.html#LIBPQ-CONNSTRING.

postgresql://[utilizator[:parola]@][netloc][:port][/dbname][?option=value&...]

Unde:

· utilizator

Poate conține orice caracter, inclusiv două puncte (:) care trebuie apoi dublat (::) Şi
la semn (@) care trebuie apoi dublat (@@).

Când este omis, utilizator name este implicit la valoarea lui PGUSER variabilă de mediu,
iar dacă este nesetat, valoarea lui USER variabilă de mediu.

· parola

Poate conține orice caracter, inclusiv semnul la (@) care trebuie apoi dublat (@@).
Pentru a lăsa parola goală, atunci când utilizator numele se termină cu la la semn, apoi trebuie
utilizați sintaxa user:@.

Când este omis, parola implicit la valoarea lui PGPASSWORD mediu inconjurator
variabilă dacă este setată, în caz contrar parola rămâne nesetată.

· netloc

Poate fi fie un nume de gazdă în notație punctată, fie un ipv4 sau un socket de domeniu Unix
cale. Gol este locația implicită de rețea, sub o furnizare de sistem unix domeniu
priză se preferă acea metodă, în caz contrar netloc implicit la localhost.

Este posibil să forțați unix domeniu priză calea utilizând sintaxa
unix:/cale/spre/unde/este/socket/fișier, deci pentru a forța o cale de socket care nu este implicită și a
port care nu este implicit, veți avea:

postgresql://unix:/ tmp:54321/dbname

netloc implicit la valoarea lui PGHOST variabilă de mediu, iar dacă nu este setată,
fie la implicit unix calea socketului când rulați pe un sistem Unix și localhost
in caz contrar.

· dbname

Ar trebui să fie un identificator adecvat (litera urmată de un amestec de litere, cifre și
semne de punctuație virgulă (,), liniuță (-) și subliniere (_).

Când este omis, dbname implicit la valoarea variabilei de mediu PGDATABASE,
iar dacă nu este setat, la utilizator valoarea determinată mai sus.

· Opțiuni

Parametrii opționali trebuie să fie furnizați împreună cu formularul nume=valoare, și puteți folosi
mai mulți parametri, separându-i folosind un ampersand (&) caracter.

Doar unele opțiuni sunt acceptate aici, tablename (care ar putea fi calificat cu a
numele schemei) sslmode, gazdă, port, dbname, utilizator și parola.

sslmode valorile parametrilor pot fi una dintre dezactivați, permite, a prefera or necesita.

Din motive de compatibilitate inversă, este posibil să specificați tablename opțiune
direct, fără a preciza tablename= părţi.

Opțiunile suprascrie componentele URI principale atunci când ambele sunt date și folosind
parametrii opțiunii codificați în procente permit utilizarea parolelor care încep cu două puncte și
ocolind limitările de analiză ale altor componente URI.

Regulat Expresii
Mai multe clauze enumerate în cele ce urmează acceptă regulat expresii cu următoarele
reguli de intrare:

· O expresie regulată începe cu un semn tilde (~),

· este apoi urmat de un semn de deschidere,

· atunci orice caracter este permis și considerat parte a expresiei regulate, cu excepția
pentru semnul de închidere,

· atunci se așteaptă un semn de închidere.

Semnul de deschidere și de închidere sunt permise pe pereche, iată lista completă a permiselor
delimitatori:

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

Alegeți setul de delimitatori care nu se ciocnesc de regulat expresie tu încerci
intrare. Dacă expresia dvs. este de așa natură încât niciuna dintre soluții nu vă permite să o introduceți,
locurile în care sunt permise astfel de expresii ar trebui să permită o listă de expresii.

Comentarii
Orice comandă poate conține comentarii, urmând acele reguli de introducere:

· cel -- delimitator începe un comentariu care se termină cu sfârșitul liniei curente,

· delimitatorii /* și */ respectiv începe și încheie un comentariu, care poate fi găsit în
mijlocul unei comenzi sau se întinde pe mai multe linii.

Orice loc unde ai putea intra a spatiu alb va accepta si un comentariu.

Lot comportament Opțiuni
Toate comenzile pgloader au suport pentru a CU clauză care permite specificarea opțiunilor.
Unele opțiuni sunt generice și acceptate de toate comenzile, cum ar fi lot comportament
Opțiuni, iar unele opțiuni sunt specifice unui tip de sursă de date, cum ar fi CSV sări antet
opțiune.

Opțiunile de comportament global al lotului sunt:

· lot rânduri

Ia o valoare numerică ca argument, folosită ca număr maxim de rânduri permise în a
lot. Valoarea implicită este 25 000 și poate fi schimbat pentru a încerca să aibă performanțe mai bune
caracteristici sau pentru a controla utilizarea memoriei pgloader;

· lot mărimea

Ia o unitate de memorie ca argument, cum ar fi 20 MB, valoarea sa implicită. Admis
multiplicatorii sunt kB, MB, GB, TB și PB. Cazul este important pentru a nu fi confundat
despre biți versus octeți, aici vorbim doar de octeți.

· lot concurență

Ia o valoare numerică ca argument, implicit 10. Acesta este numărul de loturi care
pgloader permite construirea în memorie, chiar și atunci când doar un singur lot la un moment dat ar putea
să fie trimis la PostgreSQL.

Suportul a mai mult de un singur lot care este trimis la un moment dat este pe lista TODO
pgloader, dar nu este încă implementat. Această opțiune se referă la controlul memoriei
nevoile pgloader ca un compromis față de caracteristicile de performanță, și nu despre
activitatea paralelă a pgloader.

Alte opțiuni sunt specifice fiecărei surse de intrare, vă rugăm să consultați anumite părți ale
documentație pentru listarea și acoperirea acestora.

Un lot este apoi închis de îndată ce fie lot rânduri sau lot mărimea pragul este
încrucișat, oricare survine primul. În cazurile în care un lot trebuie să fie închis din cauza
lot mărimea setare, a depana mesajul de jurnal de nivel este tipărit cu câte rânduri s-au încadrat în
supradimensionat lot.

LOAD CSV


Această comandă instruiește pgloader să încarce date de la un CSV fişier. Iată un exemplu:

ÎNCĂRCARE CSV
DIN „GeoLiteCity-Blocks.csv” CU CODIFICAREA iso-646-us
AVÂND CÂMPURI
(
startIpNum, endIpNum, locId
)
ÎN postgresql://user@localhost:54393/dbname?geolite.blocks
COLONI ȚINTĂ
(
iprange ip4r folosind (ip-range startIpNum endIpNum),
locId
)
CU trunchi,
ignora antetul = 2,
câmpuri încadrate opțional de ´"´,
câmpuri scăpate de backslash-quote,
câmpuri terminate cu ´\t´

SETează work_mem la „32 MB”, maintenance_work_mem la „64 MB”;

csv comanda format acceptă următoarele clauze și opțiuni:

· DIN

Nume fișier de unde să încărcați datele. Acceptă un CODIFICARE opțiune. Folosește
--list-encodings opțiunea de a afla ce nume de codificare sunt acceptate.

Numele fișierului poate fi inclus între ghilimele simple și poate fi unul dintre următoarele
valori speciale:

· inline

Datele sunt găsite după terminarea comenzilor analizate. Orice număr de linii goale
între sfârșitul comenzilor și începutul datelor este acceptată.

· stdin

Citește datele din fluxul de intrare standard.

· NUMELE DE FIȘIERE ASOCIARE

Întreg potrivire clauza trebuie să respecte următoarea regulă:

[ TOATE NUMELE DE FIȘIERE | [ FIRST ] FILENAME ]
POTRIVIRE regexp
[ ÎN DIRECTOR ´...´ ]

potrivire se aplică clauza dată regulat expresie (vezi mai sus pentru sintaxa exactă, mai multe
opțiunile pot fi folosite aici) la numele fișierelor. Apoi este posibil să încărcați date numai din
primul meci dintre toate.

Opțional IN CATALOG clauza permite specificarea directorului de mers pentru a găsi
fișiere de date și poate fi fie relativ la locul de unde este citit fișierul de comandă, fie
absolut. Directorul dat trebuie să existe.

DIN opțiunea acceptă și o listă opțională separată prin virgulă camp nume care descriu
ceea ce este de așteptat în CSV fisier de date, introdus optional prin clauza AVÂND CÂMPURI.

Fiecare nume de câmp poate fi fie un singur nume, fie un nume care urmează cu un anumit cititor
opțiuni pentru acel câmp, cuprinse între paranteze drepte și separate prin virgulă. Sprijinit
opțiunile de citire pe câmp sunt:

· încheiată by

Vezi descrierea lui camp încheiată by de mai jos.

Procesarea acestei opțiuni nu este implementată în prezent.

· data format

Când câmpul este așteptat de tipul datei, atunci această opțiune permite specificarea
formatul de dată utilizat în fișier.

Șirurile de format de dată sunt șiruri de șablon modelate după PostgreSQL a_char
Suport șiruri de șablon, limitat la următoarele modele:

· YYYY, YYY, YY pentru partea de an

· MM pentru partea numerică a lunii

· DD pentru partea numerică a zilei

· HH, HH12, HH24 pentru partea oră

· am, AM, am, AM

· pm, PM, pm, PM

· MI pentru partea minutelor

· SS pentru partea de secunde

· MS pentru partea milisecunde (4 cifre)

· US pentru partea de microsecunde (6 cifre)

· semne de punctuație neanalizate: - . * # @ T / \ și spațiu

Iată un exemplu de a data format caietul de sarcini:

nume-coloană [format de dată ´AAAA-LL-ZZ HH24-MI-SS.US´]

· zero if

Această opțiune preia un argument care este fie cuvântul cheie goluri sau ghilimele duble
șir.

Cand goluri este utilizat și valoarea câmpului care este citită conține doar caractere de spațiu,
apoi este convertit automat într-un SQL NULL valoare.

Atunci când se folosește un șir de ghilimele duble și acel șir este citit ca valoare de câmp, atunci
valoarea câmpului este convertită automat într-un SQL NULL valoare.

· tunde atât spatiu alb, tunde stânga spatiu alb, tunde dreapta spatiu alb

Această opțiune permite tăierea spațiilor albe din datele citite, fie de pe ambele părți ale
date, sau numai caracterele cu spații albe găsite în stânga șirului, sau numai
cei din dreapta şirului.

· CU

La încărcarea de la a CSV fișier, sunt acceptate următoarele opțiuni:

· trunchia

Când această opțiune este listată, pgloader emite a TRUNCHIA comandă împotriva PostgreSQL
tabelul țintă înainte de a citi fișierul de date.

· picătură indexurile

Când această opțiune este listată, problemele pgloader CĂDERE BRUSCA INDEX comenzi împotriva tuturor
apoi indecșii definiți pe tabelul țintă înainte de a copia datele CREATE INDEX
comandă odată ce COPIE este gata.

Pentru a obține cele mai bune performanțe posibile, toți indicii sunt creați în
paralel și când este terminat, cheile primare sunt construite din nou doar din indecșii unici
creată. Acest proces în două etape permite crearea indexului cheii primare în paralel cu
ceilalți indici, ca doar cele MODIFICA TABEL comanda are nevoie de o acces exclusiv bloca on
masa țintă.

· dezactivați declanseaza

Când această opțiune este listată, pgloader emite un MODIFICA TABEL ... DEZACTIVAȚI DEclanșator Toate colectiile
comanda împotriva tabelului țintă PostgreSQL înainte de a copia datele, apoi comanda
MODIFICA TABEL ... PERMITE DEclanșator Toate colectiile odata ce COPIE este gata.

Această opțiune permite încărcarea datelor într-un tabel preexistent ignorând străin cheie
constrângeri și declanșatoare definite de utilizator și pot avea ca rezultat invalid străin cheie
constrângeri odată ce datele sunt încărcate. Utilizați cu grijă.

· sări antet

Ia o valoare numerică ca argument. Instruiți pgloader să sară atât de multe rânduri la
începutul fișierului de intrare.

· csv antet

Utilizați primul rând citit după sări antet ca lista de nume de câmpuri csv care trebuie găsite
în fișierul CSV, folosind aceiași parametri CSV ca și pentru datele CSV.

· tunde necotat goluri

Când citiți valori necotate în CSV fișier, eliminați spațiile goale găsite între
separator și valoarea. Acest comportament este implicit.

· păstra necotat goluri

Când citiți valori necotate în CSV fișier, păstrați spațiile goale găsite între
separator și valoarea.

· domenii facultativ închis by

Ia un singur caracter ca argument, care trebuie găsit între ghilimele simple și
ar putea fi dat ca caracterul imprimabil în sine, valoarea specială \t pentru a desemna a
caracter de tabulare, sau 0x apoi o valoare hexazecimală citită ca cod ASCII pentru
caracter.

Acest caracter este folosit ca caracter de citare în CSV fișier și este implicit
citat dublu.

· domenii nu închis

În mod implicit, pgloader va folosi caracterul cu ghilimele duble ca caracter de anexare.
Dacă aveți un fișier CSV în care câmpurile nu sunt incluse și utilizați ghilimele duble ca un
caracter obișnuit așteptat, apoi folosiți opțiunea domenii nu închis pentru CSV
parser pentru a accepta acele valori.

· domenii scăpat by

Ia fie valoarea specială backslash-citat or citat dublu, sau orice valoare acceptată
langa domenii încheiată by opțiunea (vezi mai jos). Această valoare este folosită pentru a recunoaște
separatori de câmpuri scăpate atunci când acestea se găsesc în câmpurile de date în sine.
Implicit la citat dublu.

· csv scăpa mod

Ia fie valoarea specială cita (implicit) sau următor și permite CSV
parser pentru a analiza fie numai separatorul de câmpuri scapat, fie orice caracter (inclusiv CSV
date) când se utilizează următor valoare.

· domenii încheiată by

Ia un singur caracter ca argument, care trebuie găsit între ghilimele simple și
ar putea fi dat ca caracterul imprimabil în sine, valoarea specială \t pentru a desemna a
caracter de tabulare, sau 0x apoi o valoare hexazecimală citită ca cod ASCII pentru
caracter.

Acest caracter este folosit ca camp separator la citirea CSV de date.

· linii încheiată by

Ia un singur caracter ca argument, care trebuie găsit între ghilimele simple și
ar putea fi dat ca caracterul imprimabil în sine, valoarea specială \t pentru a desemna a
caracter de tabulare, sau 0x apoi o valoare hexazecimală citită ca cod ASCII pentru
caracter.

Acest caracter este folosit pentru a recunoaște sfârşitul liniei starea la citirea CSV de date.

LOAD FIXED COLS


Această comandă instruiește pgloader să încarce date dintr-un fișier text care conține coloane aranjate
într-un fixată mărimea manieră. Iată un exemplu:

ÎNCĂRCARE FIXĂ
DIN inline
(
a de la 0 la 10,
b de la 10 la 8,
c de la 18 la 8,
d de la 26 pentru 17 [null dacă spații libere, tăiați spațiile albe din dreapta]
)
ÎN postgresql:///pgloader?fixed
(
a, b,
c folosirea timpului (timpul fără separator c),
d
)

CU trunchiat

SETĂ codificarea clientului la „latin1”,
work_mem la „14MB”,
standard_conforming_strings la „on”.

ÎNAINTE DE ÎNCĂRCARE DO
$$ drop table dacă există fix; $$,
$$ create table fix (
un număr întreg,
b data,
c timp,
d text
);
$$;

01234567892008052011431250firstline
01234562008052115182300lasat gol-căptusit
12345678902008052208231560o altă linie
2345609872014092914371500
2345678902014092914371520

fixată comanda format acceptă următoarele clauze și opțiuni:

· DIN

Nume fișier de unde să încărcați datele. Acceptă un CODIFICARE opțiune. Folosește
--list-encodings opțiunea de a afla ce nume de codificare sunt acceptate.

Numele fișierului poate fi inclus între ghilimele simple și poate fi unul dintre următoarele
valori speciale:

· inline

Datele sunt găsite după terminarea comenzilor analizate. Orice număr de linii goale
între sfârșitul comenzilor și începutul datelor este acceptată.

· stdin

Citește datele din fluxul de intrare standard.

DIN opțiunea acceptă și o listă opțională separată prin virgulă camp nume care descriu
ceea ce este de așteptat în FIXED fișier de date.

Fiecare nume de câmp este compus din numele câmpului urmat de opțiuni specifice de citire pentru
acel domeniu. Opțiunile de citire pe câmp acceptate sunt următoarele, numai unde Începe și
lungime sunt necesare.

· Începe

Poziționați în linie în care să începeți să citiți valoarea câmpului respectiv. Poate fi introdus cu
cifre zecimale sau 0x apoi cifre hexazecimale.

· lungime

Câți octeți de citit din Începe poziție pentru a citi valoarea câmpului respectiv. Același format
as Începe.

Acești parametri opționali trebuie să fie încadrați între paranteze drepte și separați prin virgulă:

· încheiată by

Vezi descrierea lui camp încheiată by de mai jos.

Procesarea acestei opțiuni nu este implementată în prezent.

· data format

Când câmpul este așteptat de tipul datei, atunci această opțiune permite specificarea
formatul de dată utilizat în fișier.

Șirurile de format de dată sunt șiruri de șablon modelate după PostgreSQL a_char
Suport șiruri de șablon, limitat la următoarele modele:

· YYYY, YYY, YY pentru partea de an

· MM pentru partea numerică a lunii

· DD pentru partea numerică a zilei

· HH, HH12, HH24 pentru partea oră

· am, AM, am, AM

· pm, PM, pm, PM

· MI pentru partea minutelor

· SS pentru partea de secunde

· MS pentru partea milisecunde (4 cifre)

· US pentru partea de microsecunde (6 cifre)

· semne de punctuație neanalizate: - . * # @ T / \ și spațiu

Iată un exemplu de a data format caietul de sarcini:

nume-coloană [format de dată ´AAAA-LL-ZZ HH24-MI-SS.US´]

· zero if

Această opțiune preia un argument care este fie cuvântul cheie goluri sau ghilimele duble
șir.

Cand goluri este utilizat și valoarea câmpului care este citită conține doar caractere de spațiu,
apoi este convertit automat într-un SQL NULL valoare.

Atunci când se folosește un șir de ghilimele duble și acel șir este citit ca valoare de câmp, atunci
valoarea câmpului este convertită automat într-un SQL NULL valoare.

· tunde atât spatiu alb, tunde stânga spatiu alb, tunde dreapta spatiu alb

Această opțiune permite tăierea spațiilor albe din datele citite, fie de pe ambele părți ale
date, sau numai caracterele cu spații albe găsite în stânga șirului, sau numai
cei din dreapta şirului.

· CU

La încărcarea de la a FIXED fișier, sunt acceptate următoarele opțiuni:

· trunchia

Când această opțiune este listată, pgloader emite a TRUNCHIA comandă împotriva PostgreSQL
tabelul țintă înainte de a citi fișierul de date.

· dezactivați declanseaza

Când această opțiune este listată, pgloader emite un MODIFICA TABEL ... DEZACTIVAȚI DEclanșator Toate colectiile
comanda împotriva tabelului țintă PostgreSQL înainte de a copia datele, apoi comanda
MODIFICA TABEL ... PERMITE DEclanșator Toate colectiile odata ce COPIE este gata.

Această opțiune permite încărcarea datelor într-un tabel preexistent ignorând străin cheie
constrângeri și declanșatoare definite de utilizator și pot avea ca rezultat invalid străin cheie
constrângeri odată ce datele sunt încărcate. Utilizați cu grijă.

· sări antet

Ia o valoare numerică ca argument. Instruiți pgloader să sară atât de multe rânduri la
începutul fișierului de intrare.

LOAD COPIE FORMATATE DOSARE


Această comandă instruiește pgloader să încarce dintr-un fișier care conține date COPY TEXT ca
descrise în documentația PostgreSQL. Iată un exemplu:

ÎNCĂRCARE COPIE
DIN copy://./data/track.copy
(
trackid, piesa, album, media, gen, compozitor,
milisecunde, octeți, preț unitar
)
ÎN postgresql:///pgloader?track_full

CU trunchiat

SETĂ codificarea clientului la „latin1”,
work_mem la „14MB”,
standard_conforming_strings la „on”.

ÎNAINTE DE ÎNCĂRCARE DO
$$ drop tabel dacă există track_full; $$,
$$ creați tabel track_full (
trackid bigserial,
urmăriți textul,
textul albumului,
text media,
text de gen,
textul compozitorului,
milisecunde bigint,
octeți bigint,
pret unitar numeric
);
$$;

COPIE comanda format acceptă următoarele clauze și opțiuni:

· DIN

Nume fișier de unde să încărcați datele. Aceasta acceptă fișiere locale, adrese URL HTTP și zip
fișiere care conțin un singur fișier dbf cu același nume. Preluați un astfel de fișier zip dintr-un
Adresa HTTP este desigur acceptată.

· CU

La încărcarea de la a COPIE fișier, sunt acceptate următoarele opțiuni:

· delimitator

Ia un singur caracter ca argument, care trebuie găsit între ghilimele simple și
ar putea fi dat ca caracterul imprimabil în sine, valoarea specială \t pentru a desemna a
caracter de tabulare, sau 0x apoi o valoare hexazecimală citită ca cod ASCII pentru
caracter.

Acest caracter este folosit ca delimitator la citirea datelor, într-un mod similar cu
PostgreSQL COPIE opțiune.

· zero

Ia un șir ghilimeleu ca argument (ghilimelele pot fi fie ghilimele duble, fie simple
ghilimele) și folosește acel șir ca NULL reprezentare în date.

Acest lucru este similar cu cel zero COPIE opțiune în PostgreSQL.

· trunchia

Când această opțiune este listată, pgloader emite a TRUNCHIA comandă împotriva PostgreSQL
tabelul țintă înainte de a citi fișierul de date.

· dezactivați declanseaza

Când această opțiune este listată, pgloader emite un MODIFICA TABEL ... DEZACTIVAȚI DEclanșator Toate colectiile
comanda împotriva tabelului țintă PostgreSQL înainte de a copia datele, apoi comanda
MODIFICA TABEL ... PERMITE DEclanșator Toate colectiile odata ce COPIE este gata.

Această opțiune permite încărcarea datelor într-un tabel preexistent ignorând străin cheie
constrângeri și declanșatoare definite de utilizator și pot avea ca rezultat invalid străin cheie
constrângeri odată ce datele sunt încărcate. Utilizați cu grijă.

· sări antet

Ia o valoare numerică ca argument. Instruiți pgloader să sară atât de multe rânduri la
începutul fișierului de intrare.

LOAD dbf


Această comandă instruiește pgloader să încarce date de la un dbf fişier. Iată un exemplu:

ÎNCĂRCARE DBF
DIN http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/reg2013.dbf
ÎN postgresql://user@localhost/dbname
CU trunchiere, creați tabel;

DBF comanda format acceptă următoarele clauze și opțiuni:

· DIN

Nume fișier de unde să încărcați datele. Aceasta acceptă fișiere locale, adrese URL HTTP și zip
fișiere care conțin un singur fișier dbf cu același nume. Preluați un astfel de fișier zip dintr-un
Adresa HTTP este desigur acceptată.

· CU

La încărcarea de la a dbf fișier, sunt acceptate următoarele opțiuni:

· trunchia

Când această opțiune este listată, pgloader emite a TRUNCHIA comandă împotriva PostgreSQL
tabelul țintă înainte de a citi fișierul de date.

· dezactivați declanseaza

Când această opțiune este listată, pgloader emite un MODIFICA TABEL ... DEZACTIVAȚI DEclanșator Toate colectiile
comanda împotriva tabelului țintă PostgreSQL înainte de a copia datele, apoi comanda
MODIFICA TABEL ... PERMITE DEclanșator Toate colectiile odata ce COPIE este gata.

Această opțiune permite încărcarea datelor într-un tabel preexistent ignorând străin cheie
constrângeri și declanșatoare definite de utilizator și pot avea ca rezultat invalid străin cheie
constrângeri odată ce datele sunt încărcate. Utilizați cu grijă.

· crea tabel

Când această opțiune este listată, pgloader creează tabelul folosind metadatele găsite în
il dbf fișier, care trebuie să conțină o listă de câmpuri cu tipul lor de date. Un standard
se realizează conversia tipului de date din DBF în PostgreSQL.

· tabel nume

Această opțiune se așteaptă ca valoare a eventualului nume calificat al tabelului de creat.

LOAD IXF


Această comandă instruiește pgloader să încarce date de la un IBM IXF fişier. Iată un exemplu:

ÎNCĂRCARE IXF
FROM data/nsitra.test1.ixf
ÎN postgresql:///pgloader?nsitra.test1
CU trunchiere, creați tabel

ÎNAINTE DE ÎNCĂRCARE DO
$$ creează schema dacă nu există nsitra; $$,
$$ drop tabel dacă există nsitra.test1; $$;

ixf comanda format acceptă următoarele clauze și opțiuni:

· DIN

Nume fișier de unde să încărcați datele. Aceasta acceptă fișiere locale, adrese URL HTTP și zip
fișiere care conțin un singur fișier ixf cu același nume. Preluați un astfel de fișier zip dintr-un
Adresa HTTP este desigur acceptată.

· CU

La încărcarea de la a IXF fișier, sunt acceptate următoarele opțiuni:

· trunchia

Când această opțiune este listată, pgloader emite a TRUNCHIA comandă împotriva PostgreSQL
tabelul țintă înainte de a citi fișierul de date.

· dezactivați declanseaza

Când această opțiune este listată, pgloader emite un MODIFICA TABEL ... DEZACTIVAȚI DEclanșator Toate colectiile
comanda împotriva tabelului țintă PostgreSQL înainte de a copia datele, apoi comanda
MODIFICA TABEL ... PERMITE DEclanșator Toate colectiile odata ce COPIE este gata.

Această opțiune permite încărcarea datelor într-un tabel preexistent ignorând străin cheie
constrângeri și declanșatoare definite de utilizator și pot avea ca rezultat invalid străin cheie
constrângeri odată ce datele sunt încărcate. Utilizați cu grijă.

· crea tabel

Când această opțiune este listată, pgloader creează tabelul folosind metadatele găsite în
il dbf fișier, care trebuie să conțină o listă de câmpuri cu tipul lor de date. Un standard
se realizează conversia tipului de date din DBF în PostgreSQL.

· tabel nume

Această opțiune se așteaptă ca valoare a eventualului nume calificat al tabelului de creat.

LOAD ARHIVA


Această comandă instruiește pgloader să încarce date dintr-unul sau mai multe fișiere conținute într-un
Arhiva. În prezent, singurul format de arhivă acceptat este ZIP, iar arhiva ar putea fi
descărcat dintr-un HTTP URL.

Iată un exemplu:

ÎNCĂRCARE ARHIVA
DE LA /Users/dim/Downloads/GeoLiteCity-latest.zip
ÎN postgresql:///ip4r

ÎNAINTE DE ÎNCĂRCARE
DO $$ creați extensia dacă nu există ip4r; $$,
$$ creează schema dacă nu există geolite; $$,

EXECUTĂ „geolite.sql”.

ÎNCĂRCARE CSV
DIN FILENAME MATCHING ~/GeoLiteCity-Location.csv/
CU CODIFICARE iso-8859-1
(
locId,
țară,
regiune nulă dacă sunt necompletate,
oraș nul dacă spații libere,
postalCode null dacă sunt necompletate,
latitudine,
longitudine,
metroCode null dacă sunt necompletate,
areaCode nul dacă este necompletat
)
ÎN postgresql:///ip4r?geolite.location
(
locid, țară, regiune, oraș, cod poștal,
punct de locație folosind (formatul nul „(~a,~a)” longitudine latitudine),
metroCode, areaCode
)
WITH skip header = 2,
câmpuri încadrate opțional de ´"´,
câmpuri scapă de ghilimele duble,
câmpuri terminate cu ´,´

ȘI ÎNCARCĂ CSV
DIN FILENAME MATCHING ~/GeoLiteCity-Blocks.csv/
CU CODIFICARE iso-8859-1
(
startIpNum, endIpNum, locId
)
ÎN postgresql:///ip4r?geolite.blocks
(
iprange ip4r folosind (ip-range startIpNum endIpNum),
locId
)
WITH skip header = 2,
câmpuri încadrate opțional de ´"´,
câmpuri scapă de ghilimele duble,
câmpuri terminate cu ´,´

FACEȚI ÎN sfârșit
$$ creează index blocks_ip4r_idx pe geolite.blocks folosind gist(iprange); $$;

Arhiva comanda acceptă următoarele clauze și opțiuni:

· DIN

Nume fișier sau URI HTTP de unde să încărcați datele. Când i se oferă o adresă URL HTTP, linkul
fișierul va fi descărcat local înainte de procesare.

Dacă fișierul este a zip fișier, utilitarul de linie de comandă dezarhivați este folosit pentru a extinde
arhivați în fișiere în $TMPDIR, / tmp if $TMPDIR este nesetat sau setat la un inexistent
director.

Apoi, următoarele comenzi sunt utilizate din directorul de nivel superior unde arhiva
a fost extins.

· comanda [ AND comanda...]

O serie de comenzi împotriva conținutului arhivei, doar momentan
CSV,FIX și dbf comenzile sunt acceptate.

Rețineți că comenzile acceptă clauza DIN NUME DE FIȘIER ASOCIARE care permite
Comanda pgloader să nu depindă de numele exacte ale directoarelor de arhivă.

Aceeași clauză poate fi aplicată și la mai multe fișiere cu utilizarea ortografiei DIN Toate colectiile
NUMELE DE FIȘIERE ASOCIARE și o expresie regulată.

Întreg potrivire clauza trebuie să respecte următoarea regulă:

DIN [ TOATE NUMELE DE FIȘIERE | [ FIRST ] FILENAME ] POTRIVIRE

· IN SFARSIT DO

Interogări SQL să ruleze odată ce datele sunt încărcate, cum ar fi CREATE INDEX.

LOAD MySQL BAZA DE DATE


Această comandă instruiește pgloader să încarce date dintr-o conexiune la baza de date. Singurul
sursa de bază de date acceptată este în prezent MySQL, iar pgloader acceptă conversia dinamică
schema bazei de date sursă și construcția de indici.

Sunt furnizate un set implicit de reguli de casting și ar putea fi supraîncărcat și adăugat de către
comanda.

Iată un exemplu:

ÎNCĂRCARE BAZĂ DE DATE
DIN mysql:// Rădăcină@localhost/sakila
ÎN postgresql://localhost:54393/sakila

CU include drop, crea tabele, crea indexuri, reset secvențe

SETĂ maintenance_work_mem la „128MB”,
work_mem la „12MB”,
Căutare_cale către „sakila”.

Tip CAST datetime to timestamptz drop implicit drop not null folosind zero-dates-to-null,
introduceți data drop not null drop implicit folosind zero-dates-to-null,
-- tastați tinyint la boolean folosind tinyint-to-boolean,
tastați anul în număr întreg

MATERIALIZAȚI VIEWS list_film, list_staff

-- INCLUSE DOAR POTRIVIREA NUMELE DE TABEL ~/film/, actor
-- FĂRĂ POTRIVIREA NUMELE DE TABEL ~
-- DECODIFICAREA NUMELE DE TABEL DE POTRIVIRE ~/încurcat/, ~/codare/ AS utf8

ÎNAINTE DE ÎNCĂRCARE DO
$$ creează schema dacă nu există sakila; $$;

Baza de date comanda acceptă următoarele clauze și opțiuni:

· DIN

Trebuie să fie o adresă URL de conexiune care să indice o bază de date MySQL. Momentan doar MySQL este
acceptat ca sursă pgloader.

Dacă URI-ul conexiunii conține un nume de tabel, atunci numai acest tabel este migrat
MySQL la PostgreSQL.

· CU

La încărcarea de la a MySQL baza de date, sunt acceptate următoarele opțiuni și
vina CU clauza este: Nu. trunchia, crea tabele, include picătură, crea indexurile, reseta
Secvențele, străin chei, minuscul identificatorii.

CU opţiuni:

· include picătură

Când această opțiune este listată, pgloader elimină toate tabelele din PostgreSQL țintă
baza de date ale cărei nume apar în baza de date SQLite. Această opțiune permite utilizarea
aceeași comandă de mai multe ori la rând până îți dai seama de toate opțiunile, începând
automat dintr-un mediu curat. Vă rugăm să rețineți că CASCADĂ este folosit pentru a asigura
că tabelele sunt abandonate chiar dacă există chei străine care indică spre ele. Aceasta este
exact ce include picătură este destinat să facă: aruncați toate tabelele țintă și recreați
Le.

Trebuie avută mare grijă atunci când utilizați include picătură, așa cum va ajunge în cascadă toate
obiecte care fac referire la tabelele țintă, incluzând eventual și alte tabele care nu sunt
fiind încărcat din DB sursă.

· include Nu. picătură

Când această opțiune este listată, pgloader nu va include niciuna CĂDERE BRUSCA declarație la încărcare
datele.

· trunchia

Când această opțiune este listată, pgloader emite fișierul TRUNCHIA comandă împotriva fiecăruia
Tabelul PostgreSQL chiar înainte de a încărca datele în el.

· Nu. trunchia

Când această opțiune este listată, pgloader emite nr TRUNCHIA comanda.

· dezactivați declanseaza

Când această opțiune este listată, pgloader emite un MODIFICA TABEL ... DEZACTIVAȚI DEclanșator Toate colectiile
comanda împotriva tabelului țintă PostgreSQL înainte de a copia datele, apoi comanda
MODIFICA TABEL ... PERMITE DEclanșator Toate colectiile odata ce COPIE este gata.

Această opțiune permite încărcarea datelor într-un tabel preexistent ignorând străin cheie
constrângeri și declanșatoare definite de utilizator și pot avea ca rezultat invalid străin cheie
constrângeri odată ce datele sunt încărcate. Utilizați cu grijă.

· crea tabele

Când această opțiune este listată, pgloader creează tabelul folosind metadatele găsite în
il MySQL fișier, care trebuie să conțină o listă de câmpuri cu tipul lor de date. Un standard
se realizează conversia tipului de date din DBF în PostgreSQL.

· crea Nu. tabele

Când această opțiune este listată, pgloader omite crearea tabelului înainte de încărcarea datelor,
atunci tabelele țintă trebuie să existe deja.

· crea indexurile

Când această opțiune este listată, pgloader primește definițiile tuturor indecșilor găsiți în
baza de date MySQL și creați același set de definiții de index față de PostgreSQL
Bază de date.

· crea Nu. indexurile

Când această opțiune este listată, pgloader omite crearea indecșilor.

· unifica index nume, păstra index nume

Numele de index MySQL sunt unice pentru fiecare tabel, în timp ce în PostgreSQL numele de index trebuie să fie
unic per-schemă. Valoarea implicită pentru pgloader este schimbarea numelui indexului prin prefixare
cu idx_OID Unde OID este identificatorul numeric intern al tabelului în care este indexul
construit împotriva.

În unele cazuri, cum ar fi atunci când DDL-urile sunt lăsate în întregime la un cadru, ar putea fi rezonabil
pentru ca pgloader să se abțină de la manipularea numelor unice ale indexului, care se realizează prin utilizarea
il păstra index nume opțiune.

Valoarea implicită este să unifica index nume.

Chiar și atunci când utilizați opțiunea păstra index nume, indexurile cheii primare MySQL numite
„PRIMARY” le va unifica numele. Nerespectarea acestui lucru ar împiedica primarul
cheile să fie create din nou în PostgreSQL, unde numele de index trebuie să fie unice per
schemă.

· străin chei

Când această opțiune este listată, pgloader primește definițiile tuturor cheilor externe
găsit în baza de date MySQL și creați același set de definiții de chei străine împotriva
baza de date PostgreSQL.

· Nu. străin chei

Când această opțiune este listată, pgloader omite crearea cheilor externe.

· reseta Secvențele

Când această opțiune este listată, la sfârșitul încărcării datelor și după ce indicii au
toate au fost create, pgloader resetează toate secvențele PostgreSQL create la curent
valoarea maximă a coloanei la care sunt atașate.

Opțiunile schemă și de date nu au efecte asupra acestei opțiuni.

· reseta Nu. Secvențele

Când această opțiune este listată, pgloader omite secvențele de resetare după încărcare.

Opțiunile schemă și de date nu au efecte asupra acestei opțiuni.

· minuscul identificatorii

Când această opțiune este listată, pgloader convertește toți identificatorii MySQL (nume de tabel,
nume de index, nume de coloane) la minuscul, cu excepția PostgreSQL rezervat Cuvinte cheie.

PostgreSQL rezervat cuvintele cheie sunt determinate dinamic prin utilizarea sistemului
funcţie pg_get_keywords().

· cita identificatorii

Când această opțiune este listată, pgloader citează toți identificatorii MySQL, astfel încât să fie cazul lor
este respectat. Rețineți că va trebui să faceți același lucru în aplicația dvs
interogări de cod.

· schemă

Când această opțiune este listată, pgloader se abține de la migrarea datelor. Rețineți că
schema în acest context include indecșii când opțiunea crea indexurile are
fost listat.

· de date

Când această opțiune este listată, pgloader emite doar fișierul COPIE declarații, fără a face niciuna
alte procesări.

· CAST

Clauza cast permite specificarea regulilor de casting personalizate, fie pentru a supraîncărca implicit
regulile de turnare sau modificarea acestora cu cazuri speciale.

Este de așteptat ca o regulă de turnare să urmeze una dintre formele:

tip [ ... ] la [ ... ]
coloană . [ ] la ...

Este posibil pentru a aruncare pronunța pentru a se potrivi fie cu un tip de date MySQL, fie cu un
dat coloană nume într-o dată tabel nume. Această flexibilitate permite să facă față cazurilor în care
tipul tinyint ar fi putut fi folosit ca a boolean în unele cazuri dar ca a smallint in
alții.

aruncare norme sunt aplicate în ordine, primul meci împiedică respectarea regulilor să fie
aplicate, iar regulile definite de utilizator sunt evaluate mai întâi.

Gărzile sprijinite sunt:

· cand lipsă valoare

Regula de casting se aplică numai coloanelor MySQL de tip sursă care au
dat valoare, care trebuie să fie un șir cu ghilimele simple sau duble.

· cand typemod expresie

Regula de casting se aplică numai coloanelor MySQL de tip sursă care au a
typemod valoare care se potrivește cu cea dată typemod expresie. typemod este separată în ea
precizie și scară componente.

Exemplu de regulă de distribuție folosind a typemod paza:

tastați char când (= precizie 1) pentru a păstra tipul de caractere

Această expresie aruncă MySQL car de război(1) coloană într-o coloană PostgreSQL de tip car de război(1) în timp ce
ținând cont de cazul general char(N) va fi convertit prin regula implicită de difuzare în a
tip PostgreSQL varchar(N).

· implementate cu suplimentar increment auto

Regula de casting se aplică numai coloanelor MySQL care au suplimentar coloană
increment auto set de opțiuni, astfel încât să fie posibil să țintiți de ex de serie mai degrabă decât
întreg.

Comportamentul implicit de potrivire, când această opțiune nu este setată, este să se potrivească ambele coloane
cu definiția suplimentară și fără.

Aceasta înseamnă că, dacă doriți să implementați o regulă de casting, acea țintă fie de serie or
întreg de la un smallint definiţie în funcţie de increment auto un pic în plus de
informații din MySQL, atunci trebuie să precizați două reguli de casting după cum urmează:

tastați smallint cu auto_increment suplimentar
la serial drop typemod păstrați implicit păstrați nu nul,
tip smallint
to integer drop typemod ține implicit ține nu null

Opțiunile de turnare acceptate sunt:

· picătură lipsă, păstra lipsă

Când opțiunea picătură lipsă este listat, pgloader elimină orice expresie implicită existentă
în baza de date MySQL pentru coloanele de tip sursă din CREATE TABEL declaraţie
generează.

Ortografia păstra lipsă previne în mod explicit acest comportament și poate fi obișnuit
supraîncărcați regulile implicite de turnare.

· picătură nu zero, păstra nu zero

Când opțiunea picătură nu zero este listat, pgloader elimină orice existent NU NULL
constrângere asociată cu tipul de date MySQL sursă dat atunci când creează tabelele
în baza de date PostgreSQL.

Ortografia păstra nu zero previne în mod explicit acest comportament și poate fi obișnuit
supraîncărcați regulile implicite de turnare.

· picătură typemod, păstra typemod

Când opțiunea picătură typemod este listat, pgloader elimină orice existent typemod definiție
(de exemplu precizie și scară) din definiția tipului de date găsită în coloanele MySQL ale
tipul sursei când a creat tabelele în baza de date PostgreSQL.

Ortografia păstra typemod previne în mod explicit acest comportament și poate fi obișnuit
supraîncărcați regulile implicite de turnare.

· folosind

Această opțiune ia ca argument unic numele unei funcții care se găsește în
pgloader.transforms Pachetul Common Lisp. Vezi mai sus pentru detalii.

Este posibil să măriți o regulă de difuzare implicită (cum ar fi una care se aplică împotriva ENUM
tip de date de exemplu) cu a transformare funcţie prin omiterea în întregime a tip
părți ale regulii de turnare, ca în exemplul următor:

coloana enumerate.foo folosind empty-string-to-null

· MATERIALIZA vEDERI

Această clauză vă permite să implementați procesarea personalizată a datelor la sursa de date prin
asigurarea unui Vizualizează definiție față de care pgloader va interoga datele. Nu este
posibil să se permită doar simplu SQL pentru că vrem să știm multe despre exact
tipurile de date ale fiecărei coloane implicate în ieșirea interogării.

Această clauză se așteaptă la o listă separată de virgulă de definiții de vizualizare, fiecare fiind fie
numele unei vizualizări existente în baza de date sau următoarea expresie:

nume AS $$ sql întrebare $$

nume si sql întrebare va fi folosit într-o CREATE VIEW declarație la începutul lui
încărcarea datelor, iar vizualizarea rezultată va fi apoi abandonată la sfârșitul datelor
Se încarcă.

· MATERIALIZA Toate colectiile vEDERI

Același comportament ca și MATERIALIZA vEDERI folosind lista dinamică de vizualizări, așa cum este returnată de
MySQL în loc să ceară utilizatorului să specifice lista.

· INCLUSIV NUMAI TABEL NUME ASOCIARE

Introduceți o listă de nume de tabele separate prin virgulă sau regulat expresie folosit pentru a limita
tabelele pentru a migra la o sublistă.

Exemplu:

INCLUSE DOAR POTRIVIREA NUMELE DE TABEL ~/film/, actor

· EXCLUSIV TABEL NUME ASOCIARE

Introduceți o listă de nume de tabele separate prin virgulă sau regulat expresie folosit pentru a exclude
nume de tabel din migrare. Acest filtru se aplică numai rezultatului
INCLUSIV filtru.

FĂRĂ POTRIVIREA NUMELE DE TABEL ~

· DECODARE TABEL NUME ASOCIARE

Introduceți o listă de nume de tabele separate prin virgulă sau regulat expresii folosit pentru a forța
codificarea de utilizat la procesarea datelor din MySQL. Dacă codificarea datelor vă cunoașteți
este diferită de ideea MySQL despre aceasta, aceasta este opțiunea de utilizat.

POTRIVIREA NUMELOR DE TABEL DE DECODIFICARE ~/încurcat/, ~/codare/ AS utf8

Puteți folosi oricâte astfel de reguli aveți nevoie, toate cu posibile codificări diferite.

LIMITAREA
Baza de date comanda în prezent acceptă numai baza de date sursă MySQL și are următoarele
limitări:

· Vizualizările nu sunt migrate,

Suportul vizualizărilor ar putea necesita implementarea unui parser SQL complet pentru dialectul MySQL
cu un motor de portare pentru a rescrie SQL-ul împotriva PostgreSQL, inclusiv redenumirea
funcţii şi modificarea unor constructe.

Deși teoretic nu este imposibil, nu-ți ține respirația.

· Declanșatoarele nu sunt migrate

Dificultatea de a face acest lucru nu este încă evaluată.

· ON UPDATE CURRENT_TIMESTAMP momentan nu este migrat

Este destul de simplu de implementat, doar că nu este încă pe lista de priorități.

· Dintre tipurile de date geometrice, numai PUNCT baza de date a fost acoperită. Ceilalti
ar trebui să fie destul de ușor de implementat acum, pur și simplu nu sa făcut încă.

DEFAULT MySQL CASTING REGULI
La migrarea de la MySQL sunt furnizate următoarele reguli de casting:

Numere:

· tastați int cu auto_increment suplimentar la serial când (< precizie 10)

· tastați int cu auto_increment suplimentar la bigserial când (<= 10 precizie)

· tastați int la int când (< precizie 10)

· tastați int la bigint când (<= 10 precizie)

· tastați tinyint cu auto_increment suplimentar la serial

· tastați smallint cu auto_increment suplimentar la serial

· tastați mediumint cu auto_increment suplimentar la serial

· tastați bigint cu auto_increment suplimentar la bigserial

· tastați tinyint la boolean când (= 1 precizie) folosind tinyint-to-boolean

· tastați tinyint la smallint drop typemod

· tip smallint la smallint drop typemod

· tastați mediumint la întreg drop typemod

· tastați între întreg la un întreg drop typemod

· tip float to float drop typemod

· tip bigint la bigint drop typemod

· tip mod de picătură de precizie dublă până la dublă

· tastați numeric la numeric păstrați typemod

· tip zecimal până la zecimal păstrați typemod

Texte:

· tip char pentru a varchar păstrează typemod

· tastați varchar în text

· introduceți text minuscul în text

· introduceți text în text

· tastați text mediu în text

· tastați text lung în text

Binar:

· tip binar la bytea

· tip varbinary la bytea

· tastați tinyblob în bytea

· tastați blob în bytea

· tip mediumblob la bytea

· tastați longblob în bytea

Data:

· tastați datetime când implicit „0000-00-00 00:00:00” și nu null la timestamptz drop not
null drop implicit folosind zero-dates-to-null

· tastați datetime când implicit „0000-00-00 00:00:00” pentru a renunța la timestamptz implicit folosind
zero-date-la-null

· tastați timestamp când implicit „0000-00-00 00:00:00” și nu null la timestamptz drop not
null drop implicit folosind zero-dates-to-null

· tastați timestamp când implicit „0000-00-00 00:00:00” pentru a renunța la timestamptz implicit folosind
zero-date-la-null

· tastați data când implicit „0000-00-00” la data drop default folosind zero-dates-to-null

· introduceți data până în prezent

· tastați datetime la timestamptz

· tastați timestamp la timestamptz

· tastați year la un întreg drop typemod

Geometric:

· tastați punct la punct folosind pgloader.transforms::convert-mysql-point

Tipurile de enumerare sunt declarate inline în MySQL și separat cu a CREATE TIP comanda în
PostgreSQL, astfel încât fiecare coloană a Tipului Enum este convertită într-un tip numit după tabel și
nume de coloane definite cu aceleași etichete în aceeași ordine.

Când definiția tipului de sursă nu se potrivește în regulile implicite de casting și nici în
regulile de casting furnizate în comandă, apoi se folosește numele tipului cu typemod.

LOAD SQLite BAZA DE DATE


Această comandă instruiește pgloader să încarce date dintr-un fișier SQLite. Descoperirea automată a
schema este acceptată, inclusiv construirea indecșilor.

Iată un exemplu:

încărcați baza de date
din sqlite:///Users/dim/Downloads/lastfm_tags.db
în postgresql:///tags

cu include drop, creați tabele, creați indexuri, resetați secvențele

setați work_mem la „16MB”, maintenance_work_mem la „512 MB”;

sqlite comanda acceptă următoarele clauze și opțiuni:

· DIN

Calea sau URL-ul HTTP către un fișier SQLite, ar putea fi a .zip fișier.

· CU

La încărcarea de la a SQLite baza de date, sunt acceptate următoarele opțiuni:

La încărcarea de la a SQLite baza de date, sunt acceptate următoarele opțiuni și
lipsă CU clauza este: Nu. trunchia, crea tabele, include picătură, crea indexurile,
reseta Secvențele, minuscul identificatorii, codare „utf-8”..

· include picătură

Când această opțiune este listată, pgloader elimină toate tabelele din PostgreSQL țintă
baza de date ale cărei nume apar în baza de date SQLite. Această opțiune permite utilizarea
aceeași comandă de mai multe ori la rând până îți dai seama de toate opțiunile, începând
automat dintr-un mediu curat. Vă rugăm să rețineți că CASCADĂ este folosit pentru a asigura
că tabelele sunt abandonate chiar dacă există chei străine care indică spre ele. Aceasta este
exact ce include picătură este destinat să facă: aruncați toate tabelele țintă și recreați
Le.

Trebuie avută mare grijă atunci când utilizați include picătură, așa cum va ajunge în cascadă toate
obiecte care fac referire la tabelele țintă, incluzând eventual și alte tabele care nu sunt
fiind încărcat din DB sursă.

· include Nu. picătură

Când această opțiune este listată, pgloader nu va include niciuna CĂDERE BRUSCA declarație la încărcare
datele.

· trunchia

Când această opțiune este listată, pgloader emite fișierul TRUNCHIA comandă împotriva fiecăruia
Tabelul PostgreSQL chiar înainte de a încărca datele în el.

· Nu. trunchia

Când această opțiune este listată, pgloader emite nr TRUNCHIA comanda.

· dezactivați declanseaza

Când această opțiune este listată, pgloader emite un MODIFICA TABEL ... DEZACTIVAȚI DEclanșator Toate colectiile
comanda împotriva tabelului țintă PostgreSQL înainte de a copia datele, apoi comanda
MODIFICA TABEL ... PERMITE DEclanșator Toate colectiile odata ce COPIE este gata.

Această opțiune permite încărcarea datelor într-un tabel preexistent ignorând străin cheie
constrângeri și declanșatoare definite de utilizator și pot avea ca rezultat invalid străin cheie
constrângeri odată ce datele sunt încărcate. Utilizați cu grijă.

· crea tabele

Când această opțiune este listată, pgloader creează tabelul folosind metadatele găsite în
il SQLite fișier, care trebuie să conțină o listă de câmpuri cu tipul lor de date. Un standard
se realizează conversia tipului de date din DBF în PostgreSQL.

· crea Nu. tabele

Când această opțiune este listată, pgloader omite crearea tabelului înainte de încărcarea datelor,
atunci tabelele țintă trebuie să existe deja.

· crea indexurile

Când această opțiune este listată, pgloader primește definițiile tuturor indecșilor găsiți în
baza de date SQLite și creați același set de definiții de index față de
Baza de date PostgreSQL.

· crea Nu. indexurile

Când această opțiune este listată, pgloader omite crearea indecșilor.

· reseta Secvențele

Când această opțiune este listată, la sfârșitul încărcării datelor și după ce indicii au
toate au fost create, pgloader resetează toate secvențele PostgreSQL create la curent
valoarea maximă a coloanei la care sunt atașate.

· reseta Nu. Secvențele

Când această opțiune este listată, pgloader omite secvențele de resetare după încărcare.

Opțiunile schemă și de date nu au efecte asupra acestei opțiuni.

· schemă

Când această opțiune este listată, pgloader se va abține de la migrarea datelor. Notă
că schema în acest context include indecșii când opțiunea crea indexurile
a fost listat.

· de date

Când această opțiune este listată, pgloader emite doar fișierul COPIE declarații, fără a face niciuna
alte procesări.

· codare

Această opțiune vă permite să controlați cu ce codificare să analizați datele text SQLite.
Implicit la UTF-8.

· CAST

Clauza cast permite specificarea regulilor de casting personalizate, fie pentru a supraîncărca implicit
regulile de turnare sau modificarea acestora cu cazuri speciale.

Vă rugăm să consultați clauza MySQL CAST pentru detalii.

· INCLUSIV NUMAI TABEL NUME ASOCIARE

Introduceți o listă de nume de tabele separate prin virgulă sau regulat expresie folosit pentru a limita
tabelele pentru a migra la o sublistă.

Exemplu:

INCLUSE DOAR POTRIVIREA NUMELE DE TABEL ~/film/, actor

· EXCLUSIV TABEL NUME ASOCIARE

Introduceți o listă de nume de tabele separate prin virgulă sau regulat expresie folosit pentru a exclude
nume de tabel din migrare. Acest filtru se aplică numai rezultatului
INCLUSIV filtru.

FĂRĂ POTRIVIREA NUMELE DE TABEL ~

DEFAULT SQLite CASTING REGULI
La migrarea de la SQLite sunt furnizate următoarele reguli de casting:

Numere:

· tip tinyint la smallint

· tastați întreg la bigint

· tastați float to float folosind float-to-string

· tastați real în real folosind float-to-string

· tastați precizie dublă la dublă folosind float-to-string

· tastați numeric în numeric folosind float-to-string

Texte:

· tastați caractere în text drop typemod

· tastați varchar în text drop typemod

· tastați nvarchar în text drop typemod

· tastați char to text drop typemod

· tastați nchar în text drop typemod

· tastați nvarchar în text drop typemod

· tip clob to text drop typemod

Binar:

· tastați blob în bytea

Data:

· tastați datetime la timestamptz folosind sqlite-timestamp-to-timestamp

· tastați timestamp la timestamptz folosind sqlite-timestamp-to-timestamp

· tastați timestamptz la timestamptz folosind sqlite-timestamp-to-timestamp

LOAD MS SQL BAZA DE DATE


Această comandă instruiește pgloader să încarce date dintr-o bază de date MS SQL. Descoperire automată
a schemei este acceptată, inclusiv construirea de indici, chei primare și externe
constrângeri.

Iată un exemplu:

încărcați baza de date
de la mssql://user@host/dbname
în postgresql:///dbname

incluzând numai nume de tabel precum „GlobalAccount” în schema „dbo”.

setați work_mem la „16MB”, maintenance_work_mem la „512 MB”.

înainte de încărcare, faceți $$ drop schema dacă există cascada dbo; $$;

mssql comanda acceptă următoarele clauze și opțiuni:

· DIN

Șir de conexiune la un server de baze de date MS SQL existent care ascultă și bun venit
conexiune externă TCP/IP. În calitate de pgloader în prezent se folosește de driverul FreeTDS, pentru a
schimbați portul serverului vă rugăm să exportați TDSPORT variabilă de mediu.

· CU

La încărcarea de la a MS SQL baza de date, aceleași opțiuni ca la încărcarea unui MySQL Baza de date
sunt suportate. Vă rugăm să consultați secțiunea MySQL. Sunt adăugate următoarele opțiuni:

· crea scheme

Când această opțiune este listată, pgloader creează aceleași scheme ca cele găsite pe MS SQL
instanță. Aceasta este valoarea implicită.

· crea Nu. scheme

Când această opțiune este listată, pgloader se abține de la a crea nicio schemă, tu
trebuie apoi să se asigure că schema țintă există.

· CAST

Clauza cast permite specificarea regulilor de casting personalizate, fie pentru a supraîncărca implicit
regulile de turnare sau modificarea acestora cu cazuri speciale.

Vă rugăm să consultați clauza MySQL CAST pentru detalii.

· INCLUSIV NUMAI TABEL NUME SIMILAR '...' [, '...'] IN SCHEMĂ '...'

Introduceți o listă separată prin virgulă de modele de nume de tabel utilizate pentru a limita tabelele la
migrați la o sublistă. Se pot folosi mai mult de o astfel de clauză, acestea vor fi acumulate
împreună.

Exemplu:

incluzând numai nume de tabel ca „GlobalAccount” în schema „dbo”.

· EXCLUSIV TABEL NUME SIMILAR '...' [, '...'] IN SCHEMĂ '...'

Introduceți o listă separată prin virgulă de modele de nume de tabel utilizate pentru a exclude numele de tabel
din migrație. Acest filtru se aplică numai rezultatului INCLUSIV filtru.

EXCLUDEREA NUMELE DE TABELE ÎN POTRIVIRE „LocalAccount” în schema „dbo”.

DEFAULT MS SQL CASTING REGULI
La migrarea de la MS SQL sunt furnizate următoarele reguli de casting:

Numere:

· tip tinyint la smallint

· tastați float to float folosind float-to-string

· tastați real în real folosind float-to-string

· tastați precizie dublă la dublă folosind float-to-string

· tastați numeric în numeric folosind float-to-string

· tastați zecimal la numeric folosind float-to-string

· tastați bani în numere folosind float-to-string

· tastați smallmoney în numeric folosind float-to-string

Texte:

· tastați char to text drop typemod

· tastați tchat în text drop typemod

· tastați varchar în text drop typemod

· tastați nvarchar în text drop typemod

· tastați xml în text drop typemod

Binar:

· tastați binar în bytea folosind byte-vector-to-bytea

· tastați varbinary la bytea folosind byte-vector-to-bytea

Data:

· tastați datetime la timestamptz

· tastați datetime2 la timestamptz

Altele:

· tastați bit în boolean

· tip hierarchyid la bytea

· tip geography to bytea

· introduceți unicidentificator la uuid folosind sql-server-uniqueidentifier-to-uuid

TRANSFORMARE FUNCȚII


Unele tipuri de date sunt implementate într-un mod suficient de diferit pentru a funcționa o transformare
este necesar. Această funcție trebuie să fie scrisă Comun foșnet și este căutat în
pgloader.transforms pachet.

Unele funcții de transformare implicite sunt furnizate cu pgloader și puteți utiliza
--sarcină opțiune de linie de comandă pentru a încărca și a compila propriul fișier lisp în pgloader la
timpul de rulare. Pentru ca funcțiile dvs. să fie găsite, nu uitați să începeți fișierul lisp cu
urmatoarea forma:

(în pachet #:pgloader.transforms)

Funcțiile de transformare furnizate sunt:

· zero-date-la-null

Când data de intrare este cu zerouri, reveniți zero, care se încarcă ca PostgreSQL NULL
valoare.

· dată-fără-separator

Se aplică zero-date-la-null apoi transformați data dată într-un format pe care PostgreSQL
va procesa efectiv:

În: „20041002152952”
Out: "2004-10-02 15:29:52"

· timp-fără-separator

Transformați timpul dat într-un format pe care PostgreSQL îl va procesa de fapt:

În: „08231560”
Ieșire: "08:23:15.60"

· tinyint-to-boolean

Deoarece MySQL nu are un tip boolean adecvat, tinyint este adesea folosit pentru a implementa asta. Acest
funcția transformă 0 la fals și orice altceva să Adevărat".

· biți la boolean

Deoarece MySQL nu are un tip boolean adecvat, BIT este adesea folosit pentru a implementa asta. Acest
funcția transformă vectori de biți de 1 bit din 0 la f și orice altă valoare pentru t..

· int-to-ip

Convertiți un număr întreg într-o reprezentare punctată a unui ip4.

În: 18435761
Ieșire: „1.25.78.177”

· intervalul ip

Convertește câteva numere întregi date ca șiruri de caractere într-un interval de ip4.

În: „16825344” „16825599”
Ieșire: „1.0.188.0-1.0.188.255”

· convert-mysql-point

Se convertește din astext reprezentarea punctelor în MySQL la PostgreSQL
reprezentare.

În: „POINT(48.5513589 7.6926827)”
Ieșire: „(48.5513589,7.6926827)”

· float-to-string

Convertește un float Common Lisp într-un șir potrivit pentru un float PostgreSQL:

În: 100.0d0
Ieșire: „100.0”

· set-to-enum-array

Convertește un șir reprezentând un SET MySQL într-o matrice PostgreSQL de valori Enum din
decorul.

În: „foo,bar”
Ieșire: „{foo,bar}”

· şir-gol-la-null

Convertiți un șir gol într-un null.

· decupat dreapta

Eliminați spațiul alb de la sfârșitul șirului.

· octet-vector-la-bytea

Transformați o matrice simplă de octeți nesemnați în formatul PostgreSQL bytea Hex
reprezentare documentată la
http://www.postgresql.org/docs/9.3/interactive/datatype-binary.html

· sqlite-timestamp-to-timestamp

Sistemul de tip SQLite este destul de interesant, așa că faceți față aici pentru a produce marcaj temporal
literali așa cum se aștepta de către PostgreSQL. Care acoperă anul numai pe 4 cifre, 0 date până la
nul și șiruri de date adecvate.

· sql-server-uniqueidentifier-to-uuid

Driverul SQL Server primește date pentru identificatorul unic de tip ca vector de octeți pe care noi
apoi trebuie să convertiți într-un șir UUID pentru ca formatul de intrare PostgreSQL COPY să fie procesat.

· unix-timestamp-to-timestamptz

Convertește o marca temporală Unix (număr de secunde scurse de la începutul anului 1970) într-un
format adecvat de marcaj de timp PostgreSQL.

LOAD MESAJE


Această comandă este încă experimentală și permite primirea de mesaje prin UDP folosind un syslog
ca format și, în funcție de potrivirea regulilor, încarcă porțiuni numite ale fluxului de date în
un tabel de destinație.

ÎNCĂRCARE MESAJE
DE LA syslog://localhost:10514/

WHEN MATCHES rsyslog-msg IN apache
ÎNREGISTRARE marca temporală, ip, rest
ÎN postgresql://localhost/db?logs.apache
SET guc_1 = „valoare”, guc_2 = „altă valoare”.

WHEN MATCHES rsyslog-msg ÎN altele
ÎNREGISTRARE marca temporală, nume aplicație, date
ÎN postgresql://localhost/db?logs.others
SET guc_1 = „valoare”, guc_2 = „altă valoare”.

CU apache = rsyslog
DATE = IP REST
IP = 1*3 CIFRE "." 1*3CIFRE "."1*3CIFRE "."1*3CIFRE
ODIHNA = ~ /.*/

WITH others = rsyslog;

Deoarece comanda este încă experimentală, opțiunile ar putea fi modificate în viitor și
detaliile nu sunt documentate.

Utilizați pgloader online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad




×
publicitate
❤️Cumpără, rezervă sau cumpără aici — gratuit, contribuind la menținerea serviciilor gratuite.