Amazon Best VPN GoSearch

Icône de favori OnWorks

pgloader - En ligne dans le Cloud

Exécutez pgloader dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande pgloader qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


pgloader - Chargeur de données PostgreSQL

SYNOPSIS


pgloader [ ] [ ]...
pgloader [ ] CIBLE SOURCE

DESCRIPTION


pgloader charge les données de diverses sources dans PostgreSQL. Il peut transformer les données qu'il
lit à la volée et soumet du SQL brut avant et après le chargement. Il utilise le COPY
Protocole PostgreSQL pour diffuser les données dans le serveur, et gère les erreurs en remplissant un
une paire de rejeter.dat et mes rejeter.log fichiers.

pgloader fonctionne soit à l'aide de commandes lues à partir de fichiers :

commandes pgloader.load

ou en utilisant des arguments et des options tous fournis sur la ligne de commande :

pgloader SOURCE CIBLE

ARGUMENTS


Les arguments de pgloader peuvent être autant de fichiers de chargement que nécessaire, ou quelques connexions
des chaînes dans un fichier d'entrée spécifique.

SOURCE CONNEXION STRING
Le format de la chaîne de connexion source est le suivant :

format:///absolute/chemin/vers/fichier.ext
format://./relative/chemin/vers/fichier.ext

Où le format peut être l'un des csv, fixé, copier, dbf, db3 or ixf.

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

Où db pourrait être de sqlite, mysql or MSSQL.

Lors de l'utilisation d'un format source basé sur un fichier, pgloader prend également en charge la récupération native du fichier
à partir d'un emplacement http et décompresser une archive si nécessaire. Dans ce cas il faut
d'utiliser le --taper option pour spécifier le format attendu du fichier. Voir les exemples
ci-dessous.

Notez également que certains formats de fichiers nécessitent la description de certains détails de mise en œuvre tels que
colonnes à lire et délimiteurs et citations lors du chargement à partir de csv.

Pour des scénarios de chargement plus complexes, vous devrez écrire une commande de chargement complet dans
la syntaxe décrite plus loin dans ce document.

CIBLE CONNEXION STRING
Le format de chaîne de connexion cible est décrit en détail plus loin dans ce document, voir
Section Chaîne de connexion.

OPTIONS


ENQUÊTE OPTIONS
Utilisez ces options lorsque vous souhaitez en savoir plus sur l'utilisation pgloader, comme ces options
provoquera pgloader de ne charger aucune donnée.

-h, --Aidez-moi
Afficher le résumé de l'utilisation de la commande et quitter.

-V, --version
Afficher la chaîne de version de pgloader et quitter.

-E, --list-encodages
Répertoriez les encodages connus dans cette version de pgloader.

-U, --upgrade-config
Analyser les fichiers donnés dans la ligne de commande comme pgloader.conf fichiers avec le CE syntaxe
qui était utilisé dans les versions 2.x de pgloader, et afficher la nouvelle syntaxe de commande pour
pgloader sur la sortie standard.

GÉNÉRAL OPTIONS
Ces options sont destinées à modifier pgloader comportement lors du chargement des données.

-v, --verbeux
Soyez verbeux.

-q, --silencieux
Soyez silencieux.

-d, --déboguer
Afficher les messages d'informations sur le niveau de débogage.

-D, --rép-racine
Définissez le répertoire de travail racine (par défaut sur "/tmp/pgloader").

-L, --fichier journal
Définissez le fichier journal pgloader (par défaut, "/tmp/pgloader.log").

--log-min-messages
Niveau minimal de verbosité requis pour que le message de journal soit transféré dans le fichier journal. Un des
critique, journal, erreur, avertissement, avis, information ou débogage.

--client-min-messages
Niveau minimal de verbosité requis pour que le message de journal soit transmis à la console. Un des
critique, journal, erreur, avertissement, avis, information ou débogage.

-S, --sommaire
Un nom de fichier où copier la sortie récapitulative. Lorsqu'il est relatif, le nom du fichier est
étendu en *répertoire-racine*.

Le format du nom de fichier par défaut est humain lisible. Il est possible d'avoir
la sortie dans des formats conviviaux tels que CSV, COPY (propre COPIE de PostgreSQL
format) ou JSON en spécifiant un nom de fichier avec l'extension resp. . Csv, .copie or
.json.

-l , --load-lisp-fichier
Spécifiez un lisp filet pour compiler et charger dans l'image pgloader avant de lire le
commandes, permettant de définir une fonction de transformation supplémentaire. Ces fonctions devraient
être défini dans le pgloader.transforms emballer. Cette option peut apparaître plus de
une fois dans la ligne de commande.

--auto-mise à niveau :

Spécifiez un annuaire où trouver les sources de pgloader afin que l'un des tout premiers
ce qu'il fait est de charger dynamiquement (et de compiler en code machine) un autre
version d'elle-même, généralement une version plus récente comme un git checkout très récent.

COMMAND LINE UNIQUEMENT OPÉRATIONS
Ces options sont destinées à être utilisées lors de l'utilisation pgloader à partir de la ligne de commande uniquement, plutôt
que d'utiliser un fichier de commandes et les clauses de commande riches et l'analyseur. Dans des cas simples, il peut
être beaucoup plus facile à utiliser SOURCE et mes CIBLE directement sur la ligne de commande, puis modifiez le
chargement avec ces options :

· --avec "option":

Permet de définir des options à partir de la ligne de commande. Vous pouvez utiliser cette option autant de fois que
vous voulez. Les arguments d'option doivent suivre le avec clause pour le type de source du
SOURCE spécification, comme décrit plus loin dans ce document.

· --ensemble "guc_name=´valeur´"

Permet de définir la configuration PostgreSQL à partir de la ligne de commande. Notez que l'option
l'analyse est la même que lorsqu'elle est utilisée à partir du SET clause de commande, en particulier vous devez
entourez la valeur guc de guillemets simples.

· --champ "..."

Permet de définir une définition de champ source. Les champs sont accumulés dans l'ordre indiqué sur
la ligne de commande. Il est possible soit d'utiliser un --champ option par champ dans la source
ou pour séparer les définitions de champs par une virgule, comme vous le feriez dans le AYANT
DES CHAMPS clause.

· --jeter "..."

Permet de définir une règle de casting spécifique pour le chargement des données.

· --taper csv|fixe|db3|ixf|sqlite|mysql|mssql

Permet de forcer le type de source, dans le cas où le SOURCE l'analyse n'est pas satisfaisante.

· --codage

Définissez l'encodage du fichier source à partir duquel charger les données.

· --avant

Analysez le nom de fichier donné pour les requêtes SQL et exécutez-les sur la base de données cible avant
charger les données de la source. Les requêtes sont analysées par pgloader lui-même : elles ont besoin
se terminer par un point-virgule (;) et le fichier peut inclure \i or \ir commandes à
comprennent un autre fichier.

· --après

Analysez le nom de fichier donné pour les requêtes SQL et exécutez-les sur la base de données cible après
après avoir chargé les données de la source. Les requêtes sont analysées de la même manière qu'avec
le --avant option, voir ci-dessus.

AUTRES DEBUG INFORMATION
Pour obtenir le maximum d'informations de débogage, vous pouvez utiliser à la fois le --verbeux et de la
--déboguer bascule en même temps, ce qui revient à dire --client-min-messages
données,. Ensuite, les messages du journal afficheront les données en cours de traitement, dans les cas où le
le code a un support explicite pour cela.

UTILISATION EXEMPLES


Passez en revue les options de ligne de commande et la version de pgloader :

pgloader --aide
pgloader --version

chargement de a complexe commander
Utilisez le fichier de commandes comme argument de commande pgloader, pgloader analysera ce fichier et
exécuter les commandes qu'il contient :

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

CSV
Chargez les données d'un fichier CSV dans une table préexistante dans votre base de données :

pgloader --type csv\
--field id --field champ \
--avec tronquer \
--with "champs terminés par ´,´" \
./test/data/matching-1.csv \
postgres:///pgloader?tablename=matching

Dans cet exemple, tout le chargement est piloté à partir de la ligne de commande, évitant ainsi le besoin de
écrire une commande dans la syntaxe de commande pgloader entièrement. Comme il n'y a pas de commande cependant,
les informations supplémentaires nécessaires doivent être fournies sur la ligne de commande en utilisant le --taper et mes
--champ et mes --avec interrupteurs.

Pour obtenir de la documentation sur les syntaxes disponibles pour le --champ et mes --avec commutateurs, s'il vous plaît
reportez-vous à la section CSV plus loin dans la page de manuel.

Notez également que l'URI PostgreSQL inclut la cible nom de table.

en cours de STDIN
Les sources pgloader basées sur des fichiers peuvent être chargées à partir de l'entrée standard, comme dans ce qui suit
Exemple:

pgloader --type csv\
--field "usps,geoid,aland,awater,aland_sqmi,awater_sqmi,intptlat,intptlong" \
--with "ignorer l'en-tête = 1" \
--with "champs terminés par '\t'" \
-\
postgresql:///pgloader?districts_longlat \
< test/data/2013_Gaz_113CDs_national.txt

Le tableau de bord (-) le caractère en tant que source est utilisé pour signifier Standard contribution, comme d'habitude sous Unix
lignes de commande. Il est possible de diffuser du contenu compressé sur pgloader avec cette technique,
en utilisant le tube Unix :

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

chargement de CSV disponibles à travers HTTP
La même commande que ci-dessus peut également être exécutée si le fichier CSV se trouve sur un
emplacement HTTP distant :

pgloader --type csv\
--field "usps,geoid,aland,awater,aland_sqmi,awater_sqmi,intptlat,intptlong" \
--with "ignorer l'en-tête = 1" \
--with "champs terminés par '\t'" \
http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt \
postgresql:///pgloader?districts_longlat

D'autres options doivent être utilisées dans ce cas, car le fichier contient un en-tête d'une ligne
(le plus souvent, ce sont les noms de colonnes, cela pourrait être un avis de droit d'auteur). Aussi, dans ce cas, nous
spécifier tous les champs en un seul --champ argument d'option.

Encore une fois, la chaîne de connexion cible PostgreSQL doit contenir le nom de table option et vous
doivent s'assurer que la table cible existe et peut s'adapter aux données. Voici la commande SQL
utilisé dans cet exemple au cas où vous voudriez l'essayer vous-même :

créer une table districts_longlat
(
texte usps,
texte du géoïde,
aland bigint,
bigint d'eau,
aland_sqmi double précision,
awater_sqmi double précision,
intptlat double précision,
intptlong double précision
);

Notez également que la même commande fonctionnera sur une version archivée des mêmes données,
par exemple http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz.

Enfin, il est important de noter que pgloader récupère d'abord le contenu de l'URL HTTP
dans un fichier local, puis développez l'archive lorsqu'elle est reconnue comme étant une, et alors seulement
traite le fichier développé localement.

Dans certains cas, soit parce que pgloader n'a pas de support direct pour votre format d'archive ou
peut-être parce que l'extension de l'archive n'est pas possible dans votre environnement, vous voudrez peut-être
courant le contenu directement depuis son emplacement distant vers PostgreSQL. Voici comment faire
cela, en utilisant l'ancienne astuce Unix Pipes testée au combat :

boucle http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz \
| gunzip-c\
| pgloader --type csv\
--champ "usps,geoid,aland,awater,aland_sqmi,awater_sqmi,intptlat,intptlong"
--with "ignorer l'en-tête = 1" \
--with "champs terminés par '\t'" \
-\
postgresql:///pgloader?districts_longlat

Maintenant, le système d'exploitation s'occupera du streaming et de la mise en mémoire tampon entre le réseau et le
commandes et pgloader s'occuperont de diffuser les données vers PostgreSQL.

Migrant de SQLite
La commande suivante va ouvrir la base de données SQLite, découvrir ses définitions de tables
y compris les index et les clés étrangères, migrez ces définitions tout en coulage le type de données
spécifications vers leur équivalent PostgreSQL, puis migrez les données sur :

crééb nouvelle base de données
pgloader ./test/sqlite/sqlite.db postgresql:///newdb

Migrant de MySQL
Créez simplement une base de données où héberger les données et les définitions MySQL et demandez à pgloader de le faire
la migration pour vous en une seule ligne de commande :

crééb pagila
pgloader mysql://user@localhost/sakila postgresql:///pagila

Aller chercher an archivés DBF filet de a HTTP éloigné Localisation
Il est possible pour pgloader de télécharger un fichier à partir de HTTP, de le désarchiver, puis de l'ouvrir seulement
pour découvrir le schéma puis charger les données :

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

Ici, il n'est pas possible pour pgloader de deviner le type de source de données qui lui est fournie, donc
il est nécessaire d'utiliser le --taper commutateur de ligne de commande.

LOTS ET NOUVEL ESSAI COMPORTEMENT


Pour charger des données dans PostgreSQL, pgloader utilise le COPY protocole de diffusion en continu. Alors que c'est le
moyen plus rapide de charger des données, COPY a un inconvénient important : dès que PostgreSQL
erreur avec n'importe quel bit de données qui lui est envoyé, quel que soit le problème, l'ensemble de données est
rejeté par PostgreSQL.

Pour contourner ce problème, pgloader coupe les données en lots de 25000 XNUMX lignes chacune, de sorte que lorsque
un problème survient, il n'a d'impact que sur ce nombre de lignes de données. Chaque lot est gardé en mémoire
tandis que le COPY le streaming se produit, afin de pouvoir gérer les erreurs si certaines se produisent.

Lorsque PostgreSQL rejette l'ensemble du lot, pgloader enregistre le message d'erreur puis isole le
mauvaise(s) ligne(s) parmi celles acceptées en réessayant les lignes groupées en lots plus petits. À faire
que, pgloader analyse le CONTEXTE message d'erreur de la copie échouée, car le message
contient le numéro de ligne où l'erreur a été trouvée dans le lot, comme dans ce qui suit
Exemple:

CONTEXTE : erreurs de copie, ligne 3, colonne b : "2006-13-11"

En utilisant ces informations, pgloader rechargera toutes les lignes du lot avant l'erreur
un, enregistrez celui qui est erroné comme rejeté, puis essayez de charger le reste du lot dans un
tentative unique, qui peut contenir ou non d'autres données erronées.

A la fin d'un chargement contenant des lignes rejetées, vous trouverez deux fichiers dans le répertoire-racine
emplacement, sous un répertoire nommé le même que la base de données cible de votre configuration. Les
les noms de fichiers sont la table cible et leurs extensions sont .dat pour les données rejetées et
.bûche pour le fichier contenant les journaux complets côté client PostgreSQL sur les données rejetées.

Pour .dat le fichier est formaté dans PostgreSQL au format texte COPY comme documenté dans
http://www.postgresql.org/docs/9.2/static/sql-copy.html#AFR66609 .

A REMARQUE À PROPOS PERFORMANCES


pgloader a été développé avec des performances à l'esprit, pour pouvoir faire face à tous les
besoins croissants de chargement de grandes quantités de données dans PostgreSQL.

L'architecture de base qu'il utilise est l'ancien modèle de tuyau Unix, où un thread est responsable
pour le chargement des données (lecture d'un fichier CSV, interrogation de MySQL, etc) et des remplissages pré-traités
données dans une file d'attente. Un autre fil se nourrit de la file d'attente, appliquez-en plus transformations
aux données d'entrée et diffusez le résultat final vers PostgreSQL en utilisant le protocole COPY.

Lorsqu'on lui donne un fichier que PostgreSQL COPY commande sait comment analyser, et si le fichier
ne contient aucune donnée erronée, alors pgloader ne sera jamais aussi rapide que d'utiliser simplement le
PostgreSQL COPY commander.

Notez que si le COPY commande est limitée à lire soit à partir de son entrée standard, soit
à partir d'un fichier local sur le système de fichiers du serveur, l'outil de ligne de commande psql met en œuvre un
\copie commande qui sait comment diffuser un fichier local au client sur le réseau et
dans le serveur PostgreSQL, en utilisant le même protocole que celui utilisé par pgloader.

SOURCE FORMATS


pgloader prend en charge les formats d'entrée suivants :

· csv, qui inclut également tsv et d'autres variantes courantes où vous pouvez modifier le
séparateur et de la citant règles et comment échapper le citations eux-mêmes;

· fichier de colonnes fixes, où pgloader est suffisamment flexible pour s'adapter aux fichiers source
colonnes manquantes (en lambeaux fixé longueur colonne fichiers existe);

· Fichiers au format PostgreSLQ COPY, suivant la documentation COPY TEXT de PostgreSQL,
tels que les fichiers de rejet préparés par pgloader ;

· fichiers dbase connus sous le nom de fichier db3 ou dbf ;

· fichiers au format ixf, ixf étant un format de stockage binaire d'IBM ;

· Bases de données sqlite avec découverte entièrement automatisée du schéma et règles de distribution avancées ;

· bases de données mysql avec découverte entièrement automatisée du schéma et règles avancées de distribution ;

· Bases de données MS SQL avec découverte entièrement automatisée du schéma et règles de distribution avancées.

PGLOADEUR COMMANDES SYNTAXE


pgloader implémente un langage spécifique au domaine permettant de configurer le chargement de données complexes
scripts gérant les colonnes calculées et l'assainissement à la volée des données d'entrée. Pour plus
scénarios de chargement de données complexes, vous devrez apprendre la syntaxe de DSL. Son
destiné à sembler familier à DBA en s'inspirant de SQL là où cela a du sens, ce qui n'est pas le cas
autant après tout.

Les commandes pgloader suivent les mêmes règles de grammaire globales. Chacun d'eux pourrait soutenir
seulement un sous-ensemble des options générales et fournir des options spécifiques.

CHARGE
DE [ AVOIR DES CHAMPS ]
DANS [ COLONNES CIBLES ]

[ AVEC ]

[ ENSEMBLE ]

[ AVANT DE CHARGER [ FAIRE | EXÉCUTER ] ... ]
[ APRÈS CHARGE [ FAIRE | EXÉCUTER ] ... ]
;

Les principales clauses sont les CHARGE, De, EN et mes avec clauses que chaque commande implémente.
Certaines commandes implémentent ensuite le SET commande, ou certaines clauses spécifiques telles que la CAST
clause.

COMMUNE CLAUSES


Certaines clauses sont communes à toutes les commandes :

· De

Pour De clause spécifie où lire les données, et chaque commande introduit son
propre variante de sources. Par exemple, le CSV la source prend en charge en ligne, Stdinun
nom de fichier, un nom de fichier entre guillemets et un NOM DE FICHIER CORRESPONDANT À clause (voir ci-dessus); tandis que le
MySQL source ne prend en charge qu'une spécification d'URI de base de données MySQL.

Dans tous les cas, le De clause est capable de lire sa valeur à partir d'une variable d'environnement
lors de l'utilisation du formulaire GETENV 'nom de var'.

· EN

L'URI de connexion PostgreSQL doit contenir le nom de la table cible où charger
les données dans. Cette table doit déjà avoir été créée dans PostgreSQL, et le nom
peut être qualifié de schéma.

Pour EN L'URI de connexion à la base de données cible peut être analysé à partir de la valeur d'un environnement
variable lors de l'utilisation du formulaire GETENV 'nom de var'.

Ensuite EN L'option prend également en charge une liste facultative de colonnes cibles séparées par des virgules,
qui sont soit le nom d'une entrée champ ou la liste séparée par des espaces blancs du
le nom de la colonne cible, son type de données PostgreSQL et un EN UTILISANT expression.

Pour EN UTILISANT expression peut être n'importe quelle forme Common Lisp valide et sera lue avec le
paquet actuel défini sur pgloader.transforms, afin que vous puissiez utiliser les fonctions définies dans
ce package, telles que les fonctions chargées dynamiquement avec le --charge ligne de commande
paramètre.

Chaque EN UTILISANT expression est compilée au moment de l'exécution en code natif.

Cette fonctionnalité permet à pgloader de charger n'importe quel nombre de champs d'un fichier CSV dans un
nombre de colonnes éventuellement différent dans la base de données, en utilisant un code personnalisé pour cela
projection.

· avec

Ensemble d'options à appliquer à la commande, en utilisant une syntaxe globale de :

· clé = Plus-value

· utilisé option

· do pas utilisé option

Voir chaque commande spécifique pour plus de détails.

· SET

Cette clause permet de spécifier les paramètres de session à définir pour toutes les sessions ouvertes
par pgloader. Il attend une liste de nom de paramètre, le signe égal, puis le
valeur entre guillemets simples sous forme de liste séparée par des virgules.

Les noms et valeurs des paramètres ne sont pas validés par pgloader, ils sont donnés
tel quel à PostgreSQL.

· AVANT DE CHARGE DO

Vous pouvez exécuter des requêtes SQL sur la base de données avant de charger les données du CSV
déposer. Les requêtes SQL les plus courantes sont CREATE TABLE IF ne pas EXISTE afin que les données puissent être
chargé.

Chaque commande doit être coté en dollars: il doit commencer et se terminer par un signe dollar double,
$$. Les requêtes cotées en dollars sont ensuite séparées par des virgules. Aucune ponctuation supplémentaire n'est attendue
après la dernière requête SQL.

· AVANT DE CHARGE EXÉCUTER

Même comportement que dans le AVANT DE CHARGE DO clause. Permet de lire les requêtes SQL
à partir d'un fichier SQL. Implémente la prise en charge de la citation en dollars PostgreSQL et du \i et mes \ir
inclure des installations comme dans psql mode batch (où ils sont la même chose).

· APRÈS CHARGE DO

Même format que AVANT DE CHARGE DO, les requêtes en dollars trouvées dans cette section sont
exécuté une fois le chargement terminé. C'est le bon moment pour créer des index et
contraintes ou réactiver les déclencheurs.

· APRÈS CHARGE EXÉCUTER

Même comportement que dans le APRÈS CHARGE DO clause. Permet de lire les requêtes SQL depuis
un fichier SQL. Implémente la prise en charge de la citation en dollars PostgreSQL et du \i et mes \ir
inclure des installations comme dans psql mode batch (où ils sont la même chose).

La connexion Chaîne
Pour paramètre devrait être donné comme un La connexion URI comme documenté
dans la documentation PostgreSQL sur
http://www.postgresql.org/docs/9.3/static/libpq-connect.html#LIBPQ-CONNSTRING.

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

Où? :

· utilisateur

Peut contenir n'importe quel caractère, y compris deux points (:) qu'il faut ensuite doubler (::) et
arobase (@) qu'il faut ensuite doubler (@@).

Lorsqu'il est omis, le utilisateur le nom prend par défaut la valeur de UtilisateurPGU variable d'environnement,
et s'il n'est pas défini, la valeur du UTILISATEUR variable d'environnement.

· Mot de passe

Peut contenir n'importe quel caractère, y compris le signe at (@) qu'il faut ensuite doubler (@@).
Pour laisser le mot de passe vide, lorsque le utilisateur le nom se termine par at au signe, vous devez alors
utilisez la syntaxe user:@.

Lorsqu'il est omis, le Mot de passe par défaut la valeur de MOT DE PASSE PG sûr, heureux et sain
variable si elle est définie, sinon le mot de passe n'est pas défini.

· netloc

Peut être soit un nom d'hôte en notation pointée, soit un ipv4, soit un socket de domaine Unix
chemin. Vide est l'emplacement réseau par défaut, sous un système fournissant unix domaine
douille cette méthode est préférée, sinon le netloc par défaut localhost.

Il est possible de forcer le unix domaine douille chemin en utilisant la syntaxe
unix:/chemin/vers/où/le/socket/fichier/est, donc pour forcer un chemin de socket non par défaut et un
port non par défaut, vous auriez :

postgresql://unix :/ Tmp:54321/nombase

Pour netloc par défaut la valeur de PGHOST variable d'environnement, et si elle n'est pas définie,
soit à la valeur par défaut unix chemin de socket lors de l'exécution sur un système Unix, et localhost
autrement.

· dbname

Doit être un identifiant approprié (lettre suivie d'un mélange de lettres, de chiffres et du
signes de ponctuation virgule (,), tiret (-) et souligné (_).

Lorsqu'il est omis, le dbname par défaut la valeur de la variable d'environnement BASE DE DONNÉES PG,
et si cela n'est pas réglé, au utilisateur valeur telle que déterminée ci-dessus.

· Options

Les paramètres optionnels doivent être fournis avec le formulaire nom=valeur, et vous pouvez utiliser
plusieurs paramètres en les séparant à l'aide d'une esperluette (&) personnage.

Seules certaines options sont prises en charge ici, nom de table (qui peut être qualifié d'un
nom du schéma) mode ssl, hôte, port, dbname, utilisateur et mes Mot de passe.

Pour mode ssl les valeurs des paramètres peuvent être l'une des désactiver, permettre, préfère or exigent.

Pour des raisons de compatibilité descendante, il est possible de spécifier le nom de table option
directement, sans préciser le nom_table= des pièces.

Les options remplacent les composants URI principaux lorsque les deux sont donnés, et en utilisant le
les paramètres d'option codés en pourcentage permettent d'utiliser des mots de passe commençant par deux points et
en contournant les autres limitations d'analyse des composants URI.

Régulier Expressions
Plusieurs clauses énumérées ci-dessous acceptent Standard expressions avec ce qui suit
règles de saisie :

· Une expression régulière commence par un signe tilde (~),

· est ensuite suivi d'un signe d'ouverture,

· alors tout caractère est autorisé et considéré comme faisant partie de l'expression régulière, sauf
pour le signe de fermeture,

· alors un signe de fermeture est attendu.

Les panneaux d'ouverture et de fermeture sont autorisés par paire, voici la liste complète des
délimiteurs :

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

Choisissez l'ensemble de délimiteurs qui n'entrent pas en collision avec le Standard expression tu essaies de
saisir. Si votre expression est telle qu'aucune des solutions ne vous permet de la saisir, le
les endroits où de telles expressions sont autorisées devraient permettre une liste d'expressions.

Commentaires
Toute commande peut contenir des commentaires, suivant ces règles de saisie :

· les -- delimiter commence un commentaire qui se termine par la fin de la ligne courante,

· les délimiteurs /* et mes */ respectivement commencer et terminer un commentaire, qui peut être trouvé dans
au milieu d'une commande ou s'étendre sur plusieurs lignes.

Tout endroit où vous pourriez entrer dans un whitespace acceptera aussi un commentaire.

Lot comportement Options
Toutes les commandes pgloader prennent en charge un avec clause qui permet de spécifier des options.
Certaines options sont génériques et acceptées par toutes les commandes, comme le lot comportement
Options, et certaines options sont spécifiques à un type de source de données, comme le CSV sauter entête
option.

Les options de comportement de lot global sont :

· lot lignes

Prend une valeur numérique comme argument, utilisée comme nombre maximum de lignes autorisées dans un
grouper. La valeur par défaut est 25 000 et peut être modifié pour essayer d'avoir de meilleures performances
caractéristiques ou pour contrôler l'utilisation de la mémoire de pgloader ;

· lot Taille

Prend une unité de mémoire comme argument, comme 20 MB, sa valeur par défaut. Accepté
les multiplicateurs sont kB, MB, GB, TB et mes PB. L'affaire est importante pour ne pas être confondue
à propos des bits par rapport aux octets, nous ne parlons ici que d'octets.

· lot concurrence

Prend une valeur numérique comme argument, la valeur par défaut est 10. C'est le nombre de lots qui
pgloader permet de construire en mémoire, même lorsqu'un seul lot à la fois peut
être envoyé à PostgreSQL.

La prise en charge de plusieurs lots envoyés à la fois figure sur la liste TODO de
pgloader, mais n'est pas encore implémenté. Cette option concerne le contrôle de la mémoire
besoins de pgloader en compromis avec les caractéristiques de performances, et non à propos
activité parallèle de pgloader.

D'autres options sont spécifiques à chaque source d'entrée, veuillez vous référer aux parties spécifiques du
documentation pour leur inscription et leur couverture.

Un lot est alors clôturé dès que soit le lot lignes ou l' lot Taille le seuil est
franchi, selon la première éventualité. Dans les cas où un lot doit être fermé en raison de la
lot Taille réglage, un déboguer le message du journal de niveau est imprimé avec le nombre de lignes qui tiennent dans le
énorme lot.

CHARGE CSV


Cette commande demande à pgloader de charger des données à partir d'un CSV déposer. Voici un exemple :

CHARGER CSV
DE ´GeoLiteCity-Blocks.csv´ AVEC ENCODAGE iso-646-us
AVOIR DES CHAMPS
(
startIpNum, endIpNum, locId
)
DANS postgresql://user@localhost:54393/dbname?geolite.blocks
COLONNES CIBLES
(
iprange ip4r en utilisant (ip-range startIpNum endIpNum),
ID de localisation
)
AVEC tronquer,
sauter l'en-tête = 2,
champs éventuellement entourés de ´"´,
champs échappés par une barre oblique inverse,
champs terminés par '\t'

SET work_mem à '32 MB', maintenance_work_mem à '64 MB';

Pour csv La commande format accepte les clauses et options suivantes :

· De

Nom du fichier à partir duquel charger les données. Accepte un CODAGE option. Utilisez le
--list-encodages option pour savoir quels noms de codage sont pris en charge.

Le nom de fichier peut être entouré de guillemets simples et peut être l'un des suivants
valeurs spéciales :

· en ligne

Les données sont trouvées après la fin des commandes analysées. N'importe quel nombre de lignes vides
entre la fin des commandes et le début des données est acceptée.

· Stdin

Lit les données du flux d'entrée standard.

· NOMS DE FICHIER CORRESPONDANT À

La totalité assorti clause doit suivre la règle suivante :

[ TOUS LES NOMS DE FICHIER | [ PREMIER ] NOM DE FICHIER ]
CORRESPONDANCE
[ DANS LE RÉPERTOIRE '...' ]

Pour assorti clause s'applique étant donné Standard expression (voir ci-dessus pour la syntaxe exacte, plusieurs
peuvent être utilisées ici) aux noms de fichiers. Il est alors possible de charger des données uniquement à partir du
premier match de tous.

Le facultatif IN ANNUAIRE La clause permet de spécifier dans quel répertoire parcourir pour trouver le
fichiers de données, et peut être relatif à l'endroit où le fichier de commandes est lu, ou
absolu. Le répertoire donné doit exister.

Pour De L'option prend également en charge une liste facultative séparée par des virgules de champ noms décrivant
ce qui est attendu dans le CSV fichier de données, éventuellement introduit par la clause AYANT DES CHAMPS.

Chaque nom de champ peut être soit un seul nom, soit un nom suivant avec un lecteur spécifique
options pour ce champ, entre crochets et séparés par des virgules. Prise en charge
les options de lecteur par champ sont :

· fin by

Voir la description de champ fin by ci-dessous.

Le traitement de cette option n'est actuellement pas implémenté.

· données le format

Lorsque le champ est attendu de type date, alors cette option permet de spécifier le
format de date utilisé dans le fichier.

Les chaînes de format de date sont des chaînes de modèle modélisées par rapport à PostgreSQL to_char
prise en charge des chaînes de modèle, limitée aux modèles suivants :

· YYYY, YYY, YY pour la partie année

· MM pour la partie numérique du mois

· DD pour la partie numérique du jour

· HH, HH12, HH24 pour la partie horaire

· suis, AM, suis, AM

· après-midi, après-midi, après-midi, après-midi

· MI pour la partie minutes

· SS pour la partie des secondes

· MS pour la partie millisecondes (4 chiffres)

· US pour la partie microsecondes (6 chiffres)

· signes de ponctuation non analysés : - . * # @ T / \ et espace

Voici un exemple de données le format un cahier des charges:

nom-colonne [format de date 'AAAA-MM-JJ HH24-MI-SS.US']

· nul if

Cette option prend un argument qui est soit le mot-clé flans ou un guillemet double
chaîne.

Lorsque flans est utilisé et la valeur du champ qui est lu ne contient que des espaces,
puis il est automatiquement converti en SQL NULL valeur.

Lorsqu'une chaîne entre guillemets doubles est utilisée et que cette chaîne est lue comme valeur de champ, alors
la valeur du champ est automatiquement convertie en SQL NULL valeur.

· réduire tous les deux whitespace, réduire à gauche whitespace, réduire bien whitespace

Cette option permet de rogner les espaces blancs dans les données lues, soit des deux côtés de la
données, ou seulement les caractères d'espacement trouvés sur la gauche de la traînée, ou seulement
ceux à droite de la chaîne.

· avec

Lors du chargement à partir d'un CSV fichier, les options suivantes sont prises en charge :

· tronquer

Lorsque cette option est répertoriée, pgloader émet un TRONQUER commande contre PostgreSQL
table cible avant de lire le fichier de données.

· déposer index

Lorsque cette option est répertoriée, pgloader émet GOUTTE INDEX commandements contre tous les
index définis sur la table cible avant de copier les données, puis CREATE INDEX
commandes une fois le COPY est fait.

Afin d'obtenir les meilleures performances possibles, tous les index sont créés dans
parallèle et une fois terminé, les clés primaires sont recréées à partir des index uniques juste
créé. Ce processus en deux étapes permet de créer l'index de clé primaire en parallèle avec
les autres indices, car seul le ALTER TABLE la commande a besoin d'un accès groupes de strolling bloquer on
le tableau cible.

· désactiver déclenche

Lorsque cette option est répertoriée, pgloader émet un ALTER TABLE ... Désactiver TRIGGER TOUTES
sur la table cible PostgreSQL avant de copier les données, puis la commande
ALTER TABLE ... ACTIVER TRIGGER TOUTES une fois la COPY est fait.

Cette option permet de charger des données dans une table préexistante en ignorant le étranger clé
contraintes et les déclencheurs définis par l'utilisateur et peuvent entraîner des étranger clé
contraintes une fois les données chargées. A utiliser avec précaution.

· sauter entête

Prend une valeur numérique comme argument. Demandez à pgloader de sauter autant de lignes à la
début du fichier d'entrée.

· csv entête

Utilisez la première ligne lue après sauter entête comme la liste des noms de champs csv à trouver
dans le fichier CSV, en utilisant les mêmes paramètres CSV que pour les données CSV.

· réduire non cité flans

Lors de la lecture de valeurs sans guillemets dans le CSV fichier, supprimez les blancs entre les
séparateur et la valeur. Ce comportement est le comportement par défaut.

· garder non cité flans

Lors de la lecture de valeurs sans guillemets dans le CSV fichier, gardez les blancs trouvés entre le
séparateur et la valeur.

· des champs facultativement enfermé by

Prend un seul caractère comme argument, qui doit être trouvé entre guillemets simples, et
pourrait être donné comme caractère imprimable lui-même, la valeur spéciale \t pour désigner un
caractère de tabulation, ou 0x puis une valeur hexadécimale lue comme le code ASCII pour le
caractère.

Ce caractère est utilisé comme guillemet dans le CSV fichier et par défaut à
double citation.

· des champs pas enfermé

Par défaut, pgloader utilisera le caractère guillemet double comme caractère englobant.
Si vous avez un fichier CSV où les champs ne sont pas inclus et que vous utilisez des guillemets doubles comme
caractère ordinaire attendu, puis utilisez l'option des champs pas enfermé pour le CSV
analyseur pour accepter ces valeurs.

· des champs échappé by

Prend soit la valeur spéciale barre oblique inverse or double citation, ou toute valeur prise en charge
par le des champs fin by option (voir ci-dessous). Cette valeur est utilisée pour reconnaître
séparateurs de champs échappés lorsqu'ils se trouvent dans les champs de données eux-mêmes.
La valeur par défaut est double citation.

· csv échapper mode

Prend soit la valeur spéciale Devis (la valeur par défaut) ou Abonnement et permet au CSV
parser pour analyser uniquement le séparateur de champ échappé ou n'importe quel caractère (y compris CSV
données) lors de l'utilisation du Abonnement valeur.

· des champs fin by

Prend un seul caractère comme argument, qui doit être trouvé entre guillemets simples, et
pourrait être donné comme caractère imprimable lui-même, la valeur spéciale \t pour désigner un
caractère de tabulation, ou 0x puis une valeur hexadécimale lue comme le code ASCII pour le
caractère.

Ce caractère est utilisé comme champ séparateur lors de la lecture du CSV revendre.

· lignes fin by

Prend un seul caractère comme argument, qui doit être trouvé entre guillemets simples, et
pourrait être donné comme caractère imprimable lui-même, la valeur spéciale \t pour désigner un
caractère de tabulation, ou 0x puis une valeur hexadécimale lue comme le code ASCII pour le
caractère.

Ce caractère est utilisé pour reconnaître fin de ligne état lors de la lecture du CSV revendre.

CHARGE FIXE COLS


Cette commande demande à pgloader de charger des données à partir d'un fichier texte contenant des colonnes organisées
dans un fixé Taille manière. Voici un exemple :

CHARGE FIXE
DE en ligne
(
a de 0 à 10,
b de 10 pour 8,
c de 18 pour 8,
d de 26 pour 17 [null si vide, rogner l'espace blanc à droite]
)
DANS postgresql:///pgloader?fixé
(
un B,
c temps en utilisant (temps-sans-séparateur c),
d
)

AVEC tronquer

SET client_encoding sur 'latin1',
work_mem à '14MB',
standard_conforming_strings à « on »

AVANT DE CHARGER FAIRE
$$ supprimer la table si elle existe corrigé ; $$,
$$ créer une table corrigé (
un entier,
date b,
c le temps,
d texte
);
$$ ;

01234567892008052011431250première ligne
01234562008052115182300gauche vierge-rembourré
12345678902008052208231560une autre ligne
2345609872014092914371500
2345678902014092914371520

Pour fixé La commande format accepte les clauses et options suivantes :

· De

Nom du fichier à partir duquel charger les données. Accepte un CODAGE option. Utilisez le
--list-encodages option pour savoir quels noms de codage sont pris en charge.

Le nom de fichier peut être entouré de guillemets simples et peut être l'un des suivants
valeurs spéciales :

· en ligne

Les données sont trouvées après la fin des commandes analysées. N'importe quel nombre de lignes vides
entre la fin des commandes et le début des données est acceptée.

· Stdin

Lit les données du flux d'entrée standard.

Pour De L'option prend également en charge une liste facultative séparée par des virgules de champ noms décrivant
ce qui est attendu dans le FIXE fichier de données.

Chaque nom de champ est composé du nom de champ suivi d'options de lecteur spécifiques pour
ce champ. Les options de lecteur par champ prises en charge sont les suivantes, où seules Commencer et mes
longueur sont obligatoires.

· Commencer

Position dans la ligne où commencer à lire la valeur de ce champ. Peut être saisi avec
chiffres décimaux ou 0x puis des chiffres hexadécimaux.

· longueur

Combien d'octets lire à partir du Commencer position pour lire la valeur de ce champ. Même format
as Commencer.

Ces paramètres facultatifs doivent être placés entre crochets et séparés par des virgules :

· fin by

Voir la description de champ fin by ci-dessous.

Le traitement de cette option n'est actuellement pas implémenté.

· données le format

Lorsque le champ est attendu de type date, alors cette option permet de spécifier le
format de date utilisé dans le fichier.

Les chaînes de format de date sont des chaînes de modèle modélisées par rapport à PostgreSQL to_char
prise en charge des chaînes de modèle, limitée aux modèles suivants :

· YYYY, YYY, YY pour la partie année

· MM pour la partie numérique du mois

· DD pour la partie numérique du jour

· HH, HH12, HH24 pour la partie horaire

· suis, AM, suis, AM

· après-midi, après-midi, après-midi, après-midi

· MI pour la partie minutes

· SS pour la partie des secondes

· MS pour la partie millisecondes (4 chiffres)

· US pour la partie microsecondes (6 chiffres)

· signes de ponctuation non analysés : - . * # @ T / \ et espace

Voici un exemple de données le format un cahier des charges:

nom-colonne [format de date 'AAAA-MM-JJ HH24-MI-SS.US']

· nul if

Cette option prend un argument qui est soit le mot-clé flans ou un guillemet double
chaîne.

Lorsque flans est utilisé et la valeur du champ qui est lu ne contient que des espaces,
puis il est automatiquement converti en SQL NULL valeur.

Lorsqu'une chaîne entre guillemets doubles est utilisée et que cette chaîne est lue comme valeur de champ, alors
la valeur du champ est automatiquement convertie en SQL NULL valeur.

· réduire tous les deux whitespace, réduire à gauche whitespace, réduire bien whitespace

Cette option permet de rogner les espaces blancs dans les données lues, soit des deux côtés de la
données, ou seulement les caractères d'espacement trouvés sur la gauche de la traînée, ou seulement
ceux à droite de la chaîne.

· avec

Lors du chargement à partir d'un FIXE fichier, les options suivantes sont prises en charge :

· tronquer

Lorsque cette option est répertoriée, pgloader émet un TRONQUER commande contre PostgreSQL
table cible avant de lire le fichier de données.

· désactiver déclenche

Lorsque cette option est répertoriée, pgloader émet un ALTER TABLE ... Désactiver TRIGGER TOUTES
sur la table cible PostgreSQL avant de copier les données, puis la commande
ALTER TABLE ... ACTIVER TRIGGER TOUTES une fois la COPY est fait.

Cette option permet de charger des données dans une table préexistante en ignorant le étranger clé
contraintes et les déclencheurs définis par l'utilisateur et peuvent entraîner des étranger clé
contraintes une fois les données chargées. A utiliser avec précaution.

· sauter entête

Prend une valeur numérique comme argument. Demandez à pgloader de sauter autant de lignes à la
début du fichier d'entrée.

CHARGE COPY MISE EN FORME DES DOSSIERS


Cette commande demande à pgloader de charger à partir d'un fichier contenant des données COPY TEXT comme
décrit dans la documentation PostgreSQL. Voici un exemple :

CHARGER LA COPIE
DE copy://./data/track.copy
(
trackid, piste, album, média, genre, compositeur,
millisecondes, octets, prix unitaire
)
DANS postgresql:///pgloader?track_full

AVEC tronquer

SET client_encoding sur 'latin1',
work_mem à '14MB',
standard_conforming_strings à « on »

AVANT DE CHARGER FAIRE
$$ drop table si existe track_full; $$,
$$ créer une table track_full (
trackid bigsérie,
suivre le texte,
texte de l'album,
texte multimédia,
texte de genre,
texte du compositeur,
millisecondes bigint,
octets bigint,
prix unitaire numérique
);
$$ ;

Pour COPY La commande format accepte les clauses et options suivantes :

· De

Nom du fichier à partir duquel charger les données. Cela prend en charge les fichiers locaux, les URL HTTP et le zip
fichiers contenant un seul fichier dbf du même nom. Récupérez un tel fichier zip à partir d'un
L'adresse HTTP est bien sûr supportée.

· avec

Lors du chargement à partir d'un COPY fichier, les options suivantes sont prises en charge :

· délimiteur

Prend un seul caractère comme argument, qui doit être trouvé entre guillemets simples, et
pourrait être donné comme caractère imprimable lui-même, la valeur spéciale \t pour désigner un
caractère de tabulation, ou 0x puis une valeur hexadécimale lue comme le code ASCII pour le
caractère.

Ce caractère est utilisé comme délimiteur lors de la lecture des données, de la même manière que le
PostgreSQL COPY option.

· nul

Prend une chaîne entre guillemets comme argument (les guillemets peuvent être soit des guillemets doubles, soit des guillemets simples
guillemets) et utilise cette chaîne comme NULL représentation dans les données.

Ceci est similaire à nul COPY option dans PostgreSQL.

· tronquer

Lorsque cette option est répertoriée, pgloader émet un TRONQUER commande contre PostgreSQL
table cible avant de lire le fichier de données.

· désactiver déclenche

Lorsque cette option est répertoriée, pgloader émet un ALTER TABLE ... Désactiver TRIGGER TOUTES
sur la table cible PostgreSQL avant de copier les données, puis la commande
ALTER TABLE ... ACTIVER TRIGGER TOUTES une fois la COPY est fait.

Cette option permet de charger des données dans une table préexistante en ignorant le étranger clé
contraintes et les déclencheurs définis par l'utilisateur et peuvent entraîner des étranger clé
contraintes une fois les données chargées. A utiliser avec précaution.

· sauter entête

Prend une valeur numérique comme argument. Demandez à pgloader de sauter autant de lignes à la
début du fichier d'entrée.

CHARGE DBF


Cette commande demande à pgloader de charger des données à partir d'un DBF déposer. Voici un exemple :

CHARGER DBF
De http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/reg2013.dbf
DANS postgresql://user@localhost/dbname
AVEC tronquer, créer une table ;

Pour dbf La commande format accepte les clauses et options suivantes :

· De

Nom du fichier à partir duquel charger les données. Cela prend en charge les fichiers locaux, les URL HTTP et le zip
fichiers contenant un seul fichier dbf du même nom. Récupérez un tel fichier zip à partir d'un
L'adresse HTTP est bien sûr supportée.

· avec

Lors du chargement à partir d'un DBF fichier, les options suivantes sont prises en charge :

· tronquer

Lorsque cette option est répertoriée, pgloader émet un TRONQUER commande contre PostgreSQL
table cible avant de lire le fichier de données.

· désactiver déclenche

Lorsque cette option est répertoriée, pgloader émet un ALTER TABLE ... Désactiver TRIGGER TOUTES
sur la table cible PostgreSQL avant de copier les données, puis la commande
ALTER TABLE ... ACTIVER TRIGGER TOUTES une fois la COPY est fait.

Cette option permet de charger des données dans une table préexistante en ignorant le étranger clé
contraintes et les déclencheurs définis par l'utilisateur et peuvent entraîner des étranger clé
contraintes une fois les données chargées. A utiliser avec précaution.

· engendrent table

Lorsque cette option est répertoriée, pgloader crée la table en utilisant les métadonnées trouvées dans
le DBF fichier, qui doit contenir une liste de champs avec leur type de données. Une référence
la conversion du type de données de DBF vers PostgreSQL est effectuée.

· table prénom

Cette option attend comme valeur le nom éventuellement qualifié de la table à créer.

CHARGE IXF


Cette commande demande à pgloader de charger des données à partir d'un IBM IXF déposer. Voici un exemple :

CHARGER IXF
DE data/nsitra.test1.ixf
DANS postgresql:///pgloader?nsitra.test1
AVEC tronquer, créer une table

AVANT DE CHARGER FAIRE
$$ créer un schéma s'il n'existe pas nsitra ; $$,
$$ supprime la table si elle existe nsitra.test1; $$;

Pour ixf La commande format accepte les clauses et options suivantes :

· De

Nom du fichier à partir duquel charger les données. Cela prend en charge les fichiers locaux, les URL HTTP et le zip
fichiers contenant un seul fichier ixf du même nom. Récupérez un tel fichier zip à partir d'un
L'adresse HTTP est bien sûr supportée.

· avec

Lors du chargement à partir d'un IXF fichier, les options suivantes sont prises en charge :

· tronquer

Lorsque cette option est répertoriée, pgloader émet un TRONQUER commande contre PostgreSQL
table cible avant de lire le fichier de données.

· désactiver déclenche

Lorsque cette option est répertoriée, pgloader émet un ALTER TABLE ... Désactiver TRIGGER TOUTES
sur la table cible PostgreSQL avant de copier les données, puis la commande
ALTER TABLE ... ACTIVER TRIGGER TOUTES une fois la COPY est fait.

Cette option permet de charger des données dans une table préexistante en ignorant le étranger clé
contraintes et les déclencheurs définis par l'utilisateur et peuvent entraîner des étranger clé
contraintes une fois les données chargées. A utiliser avec précaution.

· engendrent table

Lorsque cette option est répertoriée, pgloader crée la table en utilisant les métadonnées trouvées dans
le DBF fichier, qui doit contenir une liste de champs avec leur type de données. Une référence
la conversion du type de données de DBF vers PostgreSQL est effectuée.

· table prénom

Cette option attend comme valeur le nom éventuellement qualifié de la table à créer.

CHARGE ARCHIVE


Cette commande demande à pgloader de charger les données d'un ou plusieurs fichiers contenus dans un
archiver. Actuellement, le seul format d'archive pris en charge est Code postal, et l'archive peut être
téléchargé à partir d'un HTTP URL.

Voici un exemple :

CHARGER L'ARCHIVE
DE /Users/dim/Downloads/GeoLiteCity-latest.zip
DANS postgresql:///ip4r

AVANT CHARGE
FAIRE $$ créer l'extension s'il n'existe pas ip4r ; $$,
$$ créer un schéma s'il n'existe pas de géolite ; $$,

EXECUTER 'geolite.sql'

CHARGER CSV
À PARTIR DE LA CORRESPONDANCE DU NOM DE FICHIER ~/GeoLiteCity-Location.csv/
AVEC ENCODAGE iso-8859-1
(
ID de lieu,
pays,
région nulle si vide,
ville nulle si vide,
postalCode null si vide,
latitude,
longitude,
metroCode null si vide,
areaCode null si vide
)
DANS postgresql:///ip4r?geolite.location
(
locid,pays,région,ville,code postal,
point de localisation en utilisant (format nil "(~a,~a)" longitude latitude),
metroCode, areaCode
)
AVEC en-tête de saut = 2,
champs éventuellement entourés de ´"´,
champs échappés par des guillemets doubles,
champs terminés par ´,´

ET CHARGER CSV
À PARTIR DE LA CORRESPONDANCE DU NOM DE FICHIER ~/GeoLiteCity-Blocks.csv/
AVEC ENCODAGE iso-8859-1
(
startIpNum, endIpNum, locId
)
DANS postgresql:///ip4r?geolite.blocks
(
iprange ip4r en utilisant (ip-range startIpNum endIpNum),
ID de localisation
)
AVEC en-tête de saut = 2,
champs éventuellement entourés de ´"´,
champs échappés par des guillemets doubles,
champs terminés par ´,´

FAIRE ENFIN
$$ créer l'index blocks_ip4r_idx sur geolite.blocks en utilisant gist(iprange); $$;

Pour archives La commande accepte les clauses et options suivantes :

· De

Nom de fichier ou URI HTTP à partir duquel charger les données. Lorsqu'on lui donne une URL HTTP, le lien
le fichier sera téléchargé localement avant le traitement.

Si le fichier est un Zip *: français fichier, l'utilitaire de ligne de commande ouvrir est utilisé pour étendre le
archiver dans des fichiers dans $ TMPDIR, ou / Tmp if $ TMPDIR n'est pas défini ou défini sur une valeur inexistante
répertoire.

Ensuite, les commandes suivantes sont utilisées à partir du répertoire de niveau supérieur où l'archive
a été élargi.

· commande [ ET commande ... ]

Une série de commandes contre le contenu de l'archive, pour le moment seulement
CSV,FIXÉ et mes DBF les commandes sont prises en charge.

Notez que les commandes prennent en charge la clause De NOM DE FICHIER CORRESPONDANT À qui permet la
pgloader pour ne pas dépendre des noms exacts des répertoires d'archives.

La même clause peut également être appliquée à plusieurs fichiers en utilisant l'orthographe De TOUTES
NOMS DE FICHIER CORRESPONDANT À et une expression régulière.

La totalité assorti clause doit suivre la règle suivante :

DE [ TOUS LES NOMS DE FICHIER | [ PREMIER ] FILENAME ] CORRESPONDANCE

· ENFIN DO

Requêtes SQL à exécuter une fois les données chargées, telles que CREATE INDEX.

CHARGE MYSQL BASE DE DONNÉES


Cette commande demande à pgloader de charger des données à partir d'une connexion à une base de données. Le seul
la source de base de données prise en charge est actuellement MySQL, et pgloader prend en charge la conversion dynamique
le schéma de la base de données source et la construction des index.

Un ensemble de règles de casting par défaut est fourni et peut être surchargé et ajouté par le
commander.

Voici un exemple :

CHARGER LA BASE DE DONNÉES
DE mysql :// Root@localhost/sakila
DANS postgresql://localhost:54393/sakila

AVEC inclure déposer, créer des tables, créer des index, réinitialiser des séquences

SET maintenance_work_mem à '128MB',
work_mem à '12MB',
search_path vers 'sakila'

CAST type datetime to timestamptz drop drop par défaut non nul en utilisant zero-dates-to-null,
type date drop not null drop default en utilisant zero-dates-to-null,
-- tapez tinyint en booléen en utilisant tinyint en booléen,
taper l'année en entier

MATERIALISER LES VUES film_list, staff_list

-- Y COMPRIS SEULEMENT LES NOMS DE TABLE CORRESPONDANT ~/film/, acteur
-- À L'EXCLUSION DES NOMS DE TABLE CORRESPONDANT ~
-- CORRESPONDANCE DES NOMS DES TABLES DE CODAGE ~/gâché/, ~/encodage/ COMME utf8

AVANT DE CHARGER FAIRE
$$ créer un schéma s'il n'existe pas sakila ; $$;

Pour base de données La commande accepte les clauses et options suivantes :

· De

Doit être une URL de connexion pointant vers une base de données MySQL. Pour le moment, seul MySQL est
pris en charge en tant que source pgloader.

Si l'URI de connexion contient un nom de table, seule cette table est migrée depuis
MySQL vers PostgreSQL.

· avec

Lors du chargement à partir d'un MySQL base de données, les options suivantes sont prises en charge et le
faute avec clause est : aucune tronquer, engendrent les tables, comprennent déposer, engendrent index, réinitialiser
séquences, étranger clés, abaisser Identificateurs.

avec options:

· comprennent déposer

Lorsque cette option est répertoriée, pgloader supprime toutes les tables dans le PostgreSQL cible
base de données dont les noms apparaissent dans la base de données SQLite. Cette option permet d'utiliser le
même commande plusieurs fois de suite jusqu'à ce que vous trouviez toutes les options, en commençant
automatiquement à partir d'un environnement propre. Veuillez noter que CASCADE est utilisé pour assurer
que les tables sont supprimées même s'il y a des clés étrangères pointant vers elles. C'est
précisément ce que comprennent déposer est destiné à faire : supprimer toutes les tables cibles et recréer
Eux.

Un grand soin doit être pris lors de l'utilisation comprennent déposer, car il se mettra en cascade tous
objets référençant les tables cibles, incluant éventuellement d'autres tables qui ne sont pas
étant chargé à partir de la base de données source.

· comprennent aucune déposer

Lorsque cette option est répertoriée, pgloader n'inclura aucun GOUTTE instruction lors du chargement
les données.

· tronquer

Lorsque cette option est répertoriée, pgloader émet le TRONQUER commande contre chacun
Table PostgreSQL juste avant d'y charger des données.

· aucune tronquer

Lorsque cette option est répertoriée, pgloader n'émet aucun TRONQUER commander.

· désactiver déclenche

Lorsque cette option est répertoriée, pgloader émet un ALTER TABLE ... Désactiver TRIGGER TOUTES
sur la table cible PostgreSQL avant de copier les données, puis la commande
ALTER TABLE ... ACTIVER TRIGGER TOUTES une fois la COPY est fait.

Cette option permet de charger des données dans une table préexistante en ignorant le étranger clé
contraintes et les déclencheurs définis par l'utilisateur et peuvent entraîner des étranger clé
contraintes une fois les données chargées. A utiliser avec précaution.

· engendrent les tables

Lorsque cette option est répertoriée, pgloader crée la table en utilisant les métadonnées trouvées dans
le MySQL fichier, qui doit contenir une liste de champs avec leur type de données. Une référence
la conversion du type de données de DBF vers PostgreSQL est effectuée.

· engendrent aucune les tables

Lorsque cette option est répertoriée, pgloader ignore la création de la table avant de charger les données,
les tables cibles doivent alors déjà exister.

· engendrent index

Lorsque cette option est répertoriée, pgloader obtient les définitions de tous les index trouvés dans
la base de données MySQL et créer le même ensemble de définitions d'index par rapport à PostgreSQL
base de données.

· engendrent aucune index

Lorsque cette option est répertoriée, pgloader ignore la création d'index.

· unifier indice noms, préserver indice noms

Les noms d'index MySQL sont uniques par table alors que dans PostgreSQL, les noms d'index doivent être
unique par schéma. La valeur par défaut pour pgloader est de changer le nom de l'index en le préfixant
avec idx_OIDOID est l'identifiant numérique interne de la table dont l'index est
construit contre.

Dans certains cas, comme lorsque le DDL est entièrement laissé à un framework, il peut être judicieux
pour que pgloader s'abstienne de gérer les noms uniques d'index, ce qui est obtenu en utilisant
le préserver indice noms option.

La valeur par défaut est de unifier indice noms.

Même en utilisant l'option préserver indice noms, index de clé primaire MySQL nommés
"PRIMARY" obtiendra leurs noms uniquifiés. Ne pas le faire empêcherait le premier
clés à recréer dans PostgreSQL où les noms d'index doivent être uniques par
schéma.

· étranger clés

Lorsque cette option est répertoriée, pgloader obtient les définitions de toutes les clés étrangères
trouvé dans la base de données MySQL et créez le même ensemble de définitions de clé étrangère par rapport
la base de données PostgreSQL.

· aucune étranger clés

Lorsque cette option est répertoriée, pgloader ignore la création de clés étrangères.

· réinitialiser séquences

Lorsque cette option est répertoriée, à la fin du chargement des données et après que les index aient
toutes ont été créées, pgloader réinitialise toutes les séquences PostgreSQL créées à la valeur actuelle
valeur maximale de la colonne à laquelle ils sont attachés.

Les options schéma uniquement et mes données, uniquement n'ont aucun effet sur cette option.

· réinitialiser aucune séquences

Lorsque cette option est répertoriée, pgloader ignore les séquences de réinitialisation après le chargement.

Les options schéma uniquement et mes données, uniquement n'ont aucun effet sur cette option.

· abaisser Identificateurs

Lorsque cette option est répertoriée, pgloader convertit tous les identifiants MySQL (noms de table,
noms d'index, noms de colonnes) à abaisser, sauf pour PostgreSQL réservé mots clés.

Le PostgreSQL réservé les mots-clés sont déterminés dynamiquement à l'aide du système
fonction pg_get_keywords().

· Devis Identificateurs

Lorsque cette option est répertoriée, pgloader cite tous les identifiants MySQL afin que leur casse
est respecté. Notez que vous devrez alors faire la même chose dans votre application
requêtes de code.

· schéma uniquement

Lorsque cette option est répertoriée, pgloader s'abstient de migrer les données. Noter que
le schéma dans ce contexte inclut les index lorsque l'option engendrent index a
été répertorié.

· données, uniquement

Lorsque cette option est répertoriée, pgloader n'émet que le COPY déclarations, sans rien faire
autre traitement.

· CAST

La clause cast permet de spécifier des règles de casting personnalisées, soit pour surcharger la valeur par défaut
règles de casting ou de les modifier avec des cas particuliers.

Une règle de casting doit suivre l'une des formes suivantes :

taper [ ... ] à [ ... ]
colonne . [ ] à ...

Il est possible pour un coulage exclure pour correspondre à un type de données MySQL ou à un
donné colonne prénom dans un donné table prénom. Cette flexibilité permet de faire face aux cas où
le type minuscule aurait pu être utilisé comme booléen dans certains cas, mais en tant que petit entier in
autres.

Pour coulage sont appliquées dans l'ordre, la première correspondance empêche les règles suivantes d'être
appliqué, et les règles définies par l'utilisateur sont évaluées en premier.

Les gardes prises en charge sont :

· quand défaut valeur

La règle de casting n'est appliquée qu'aux colonnes MySQL du type source qui ont
donné Plus-value, qui doit être une chaîne entre guillemets simples ou doubles.

· quand typemod expression

La règle de casting n'est appliquée qu'aux colonnes MySQL du type source qui ont un
typemod valeur correspondant à la donnée typemod expressionL’ typemod est séparé en son
précision et mes en échelon composants.

Exemple de règle de distribution utilisant un typemod gardien:

tapez char quand (= précision 1) pour char keep typemod

Cette expression convertit MySQL carboniser(1) colonne à une colonne PostgreSQL de type carboniser(1) tout en
en tenant compte du cas général caractère(N) sera converti par la règle de distribution par défaut en un
Type PostgreSQL varchar(N).

· avec supplémentaire incrémentation automatique

La règle de casting n'est appliquée qu'aux colonnes MySQL ayant le supplémentaire colonne
incrémentation automatique jeu d'options, de sorte qu'il est possible de cibler par exemple en série plutôt que
entier.

Le comportement de correspondance par défaut, lorsque cette option n'est pas définie, consiste à faire correspondre les deux colonnes
avec la définition supplémentaire et sans.

Cela signifie que si vous souhaitez implémenter une règle de casting qui cible soit en série or
entier d'un petit entier définition selon le incrémentation automatique un peu plus de
informations de MySQL, vous devez alors définir les deux règles de casting suivantes :

tapez smallint avec auto_increment supplémentaire
pour déposer le typemod en série, conserver la valeur par défaut, conserver non nul,
tapez smallint
à l'entier drop typemod garder par défaut garder non nul

Les options de diffusion prises en charge sont :

· déposer défaut, garder défaut

Lorsque l'option déposer défaut est répertorié, pgloader supprime toute expression par défaut existante
dans la base de données MySQL pour les colonnes de type source du CREATE TABLE déclaration
il génère.

L'orthographe garder défaut empêche explicitement ce comportement et peut être utilisé pour
surcharger les règles de casting par défaut.

· déposer pas nul, garder pas nul

Lorsque l'option déposer pas nul est répertorié, pgloader supprime tout ne pas NULL
contrainte associée au type de données MySQL source donné lors de la création des tables
dans la base de données PostgreSQL.

L'orthographe garder pas nul empêche explicitement ce comportement et peut être utilisé pour
surcharger les règles de casting par défaut.

· déposer typemod, garder typemod

Lorsque l'option déposer typemod est répertorié, pgloader supprime tout typemod définition
(par exemple précision et mes en échelon) à partir de la définition du type de données trouvée dans les colonnes MySQL de
le type de source lors de la création des tables dans la base de données PostgreSQL.

L'orthographe garder typemod empêche explicitement ce comportement et peut être utilisé pour
surcharger les règles de casting par défaut.

· en utilisant

Cette option prend comme argument unique le nom d'une fonction à trouver dans le
pgloader.transforms Paquet Lisp commun. Voir ci-dessus pour les détails.

Il est possible d'augmenter une règle de distribution par défaut (comme celle qui s'applique contre ENUM
type de données par exemple) avec un transformation fonction en omettant entièrement le type
parties de la règle de casting, comme dans l'exemple suivant :

colonne enumerate.foo en utilisant une chaîne vide à null

· SE CONCRÉTISER VUES

Cette clause vous permet de mettre en œuvre un traitement de données personnalisé à la source de données en
fournir un vue définition contre lequel pgloader interrogera les données. Ce n'est pas
possible de simplement tenir compte de la plaine SQL parce que nous voulons en savoir beaucoup sur l'exact
types de données de chaque colonne impliquée dans la sortie de la requête.

Cette clause attend une liste de définitions de vues séparées par des virgules, chacune étant soit
le nom d'une vue existante dans votre base de données ou l'expression suivante :

prénom AS $$ sql question $$

Pour prénom et de la sql question sera utilisé dans un CREATE VOIR déclaration au début de
le chargement des données, et la vue résultante sera alors supprimée à la fin des données
chargement.

· SE CONCRÉTISER TOUTES VUES

Même comportement que SE CONCRÉTISER VUES en utilisant la liste dynamique des vues renvoyée par
MySQL plutôt que de demander à l'utilisateur de spécifier la liste.

· COMPRENANT UNIQUEMENT TABLE DES NOMS CORRESPONDANT À

Introduisez une liste de noms de table séparés par des virgules ou Standard expression utilisé pour limiter
les tables à migrer vers une sous-liste.

Mise en situation :

INCLUANT SEULEMENT LES NOMS DE TABLE CORRESPONDANT ~/film/, acteur

· À L'EXCLUSION TABLE DES NOMS CORRESPONDANT À

Introduisez une liste de noms de table séparés par des virgules ou Standard expression utilisé pour exclure
noms de table de la migration. Ce filtre ne s'applique qu'au résultat de la
COMPRENANT filtre.

À L'EXCLUSION DES NOMS DE TABLE CORRESPONDANT ~

· DÉCODAGE TABLE DES NOMS CORRESPONDANT À

Introduisez une liste de noms de table séparés par des virgules ou Standard expressions utilisé pour forcer
l'encodage à utiliser lors du traitement des données de MySQL. Si l'encodage des données que vous connaissez
est différent de l'idée de MySQL à ce sujet, c'est l'option à utiliser.

DÉCODAGE DES NOMS DE TABLES CORRESPONDANCE ~/gâché/, ~/encodage/ COMME utf8

Vous pouvez utiliser autant de règles que vous le souhaitez, toutes avec des encodages éventuellement différents.

LIMITATIONS
Pour base de données La commande ne prend actuellement en charge que la base de données source MySQL et a les éléments suivants
limites:

· Les vues ne sont pas migrées,

La prise en charge des vues peut nécessiter la mise en œuvre d'un analyseur SQL complet pour le dialecte MySQL
avec un moteur de portage pour réécrire le SQL contre PostgreSQL, y compris le renommage
fonctions et changer certaines constructions.

Bien que ce ne soit pas théoriquement impossible, ne retenez pas votre souffle.

· Les déclencheurs ne sont pas migrés

La difficulté de le faire n'est pas encore évaluée.

· ON MISE À JOUR CURRENT_TIMESTAMP n'est actuellement pas migré

C'est assez simple à mettre en œuvre, mais pas encore sur la liste des priorités.

· Parmi les types de données géométriques, seul le POINT base de données a été couverte. Les autres
devrait être assez facile à mettre en œuvre maintenant, ce n'est tout simplement pas encore fait.

DEFAULT MySQL CASTING DES RÈGLES
Lors de la migration depuis MySQL, les règles de diffusion suivantes sont fournies :

Numéros:

· tapez int avec auto_increment supplémentaire à serial quand (< précision 10)

· tapez int avec auto_increment supplémentaire à bigserial quand (<= 10 précision)

· tapez int à int quand (< précision 10)

· tapez int à bigint quand (<= 10 précision)

· tapez tinyint avec un auto_increment supplémentaire en série

· tapez smallint avec auto_increment supplémentaire à serial

· tapez mediumint avec auto_increment supplémentaire à serial

· tapez bigint avec auto_increment supplémentaire à bigserial

· tapez tinyint en booléen lorsque (= 1 précision) en utilisant tinyint-to-boolean

· tapez tinyint en smallint drop typemod

· tapez smallint à smallint drop typemod

· tapez mediumint en entier drop typemod

· type entier à entier drop typemod

· tapez float à float drop typemod

· tapez bigint à bigint drop typemod

· tapez double à double précision drop typemod

· type numérique à numérique garder typemod

· tapez decimal to decimal garder typemod

Des textes:

· tapez char à varchar garder typemod

· tapez varchar en texte

· tapez tinytext en texte

· taper texte à texte

· tapez mediumtext to text

· taper un texte long en texte

Binaire:

· tapez binaire en octet

· tapez varbinary en bytea

· tapez tinyblob en bytea

· tapez blob en bytea

· tapez mediumblob en bytea

· tapez longblob en bytea

Date :

· tapez datetime lorsque la valeur par défaut "0000-00-00 00:00:00" et non null à timestamptz drop not
null drop par défaut en utilisant zero-dates-to-null

· tapez datetime lorsque la valeur par défaut "0000-00-00 00:00:00" pour horodater par défaut en utilisant
zéro-date-à-null

· tapez l'horodatage lorsque la valeur par défaut "0000-00-00 00:00:00" et non null pour l'horodatage ne tombe pas
null drop par défaut en utilisant zero-dates-to-null

· tapez l'horodatage lorsque la valeur par défaut "0000-00-00 00:00:00" pour l'horodatage par défaut en utilisant
zéro-date-à-null

· tapez la date lorsque la valeur par défaut "0000-00-00" à la date par défaut en utilisant zero-dates-to-null

· tapez date à ce jour

· tapez datetime à timestamptz

· tapez timestamp à timestamptz

· tapez l'année en nombre entier typemod

Géométrique:

· tapez point à point en utilisant pgloader.transforms::convert-mysql-point

Les types d'énumération sont déclarés en ligne dans MySQL et séparément avec un CREATE TYPE commande dans
PostgreSQL, de sorte que chaque colonne de type Enum est convertie en un type nommé d'après la table et
noms de colonnes définis avec les mêmes étiquettes dans le même ordre.

Lorsque la définition du type de source ne correspond pas aux règles de casting par défaut ni dans le
règles de casting fournies dans la commande, le nom du type avec le typemod est utilisé.

CHARGE SQLite BASE DE DONNÉES


Cette commande demande à pgloader de charger des données à partir d'un fichier SQLite. Découverte automatique de
le schéma est pris en charge, y compris la construction des index.

Voici un exemple :

charger la base de données
de sqlite:///Users/dim/Downloads/lastfm_tags.db
dans postgresql:///tags

avec include drop, créer des tables, créer des index, réinitialiser des séquences

définissez work_mem sur « 16 Mo », maintenance_work_mem sur « 512 Mo » ;

Pour sqlite La commande accepte les clauses et options suivantes :

· De

Chemin ou URL HTTP vers un fichier SQLite, peut être un .zip fichier.

· avec

Lors du chargement à partir d'un SQLite base de données, les options suivantes sont prises en charge :

Lors du chargement à partir d'un SQLite base de données, les options suivantes sont prises en charge et le
défaut avec clause est : aucune tronquer, engendrent les tables, comprennent déposer, engendrent index,
réinitialiser séquences, abaisser Identificateurs, codage "utf-8".

· comprennent déposer

Lorsque cette option est répertoriée, pgloader supprime toutes les tables dans le PostgreSQL cible
base de données dont les noms apparaissent dans la base de données SQLite. Cette option permet d'utiliser le
même commande plusieurs fois de suite jusqu'à ce que vous trouviez toutes les options, en commençant
automatiquement à partir d'un environnement propre. Veuillez noter que CASCADE est utilisé pour assurer
que les tables sont supprimées même s'il y a des clés étrangères pointant vers elles. C'est
précisément ce que comprennent déposer est destiné à faire : supprimer toutes les tables cibles et recréer
Eux.

Un grand soin doit être pris lors de l'utilisation comprennent déposer, car il se mettra en cascade tous
objets référençant les tables cibles, incluant éventuellement d'autres tables qui ne sont pas
étant chargé à partir de la base de données source.

· comprennent aucune déposer

Lorsque cette option est répertoriée, pgloader n'inclura aucun GOUTTE instruction lors du chargement
les données.

· tronquer

Lorsque cette option est répertoriée, pgloader émet le TRONQUER commande contre chacun
Table PostgreSQL juste avant d'y charger des données.

· aucune tronquer

Lorsque cette option est répertoriée, pgloader n'émet aucun TRONQUER commander.

· désactiver déclenche

Lorsque cette option est répertoriée, pgloader émet un ALTER TABLE ... Désactiver TRIGGER TOUTES
sur la table cible PostgreSQL avant de copier les données, puis la commande
ALTER TABLE ... ACTIVER TRIGGER TOUTES une fois la COPY est fait.

Cette option permet de charger des données dans une table préexistante en ignorant le étranger clé
contraintes et les déclencheurs définis par l'utilisateur et peuvent entraîner des étranger clé
contraintes une fois les données chargées. A utiliser avec précaution.

· engendrent les tables

Lorsque cette option est répertoriée, pgloader crée la table en utilisant les métadonnées trouvées dans
le SQLite fichier, qui doit contenir une liste de champs avec leur type de données. Une référence
la conversion du type de données de DBF vers PostgreSQL est effectuée.

· engendrent aucune les tables

Lorsque cette option est répertoriée, pgloader ignore la création de la table avant de charger les données,
les tables cibles doivent alors déjà exister.

· engendrent index

Lorsque cette option est répertoriée, pgloader obtient les définitions de tous les index trouvés dans
la base de données SQLite et créez le même ensemble de définitions d'index par rapport au
Base de données PostgreSQL.

· engendrent aucune index

Lorsque cette option est répertoriée, pgloader ignore la création d'index.

· réinitialiser séquences

Lorsque cette option est répertoriée, à la fin du chargement des données et après que les index aient
toutes ont été créées, pgloader réinitialise toutes les séquences PostgreSQL créées à la valeur actuelle
valeur maximale de la colonne à laquelle ils sont attachés.

· réinitialiser aucune séquences

Lorsque cette option est répertoriée, pgloader ignore les séquences de réinitialisation après le chargement.

Les options schéma uniquement et mes données, uniquement n'ont aucun effet sur cette option.

· schéma uniquement

Lorsque cette option est répertoriée, pgloader s'abstient de migrer les données. Noter
que le schéma dans ce contexte inclut les index lorsque l'option engendrent index
a été répertorié.

· données, uniquement

Lorsque cette option est répertoriée, pgloader n'émet que le COPY déclarations, sans rien faire
autre traitement.

· codage

Cette option permet de contrôler avec quel encodage analyser les données texte SQLite.
La valeur par défaut est UTF-8.

· CAST

La clause cast permet de spécifier des règles de casting personnalisées, soit pour surcharger la valeur par défaut
règles de casting ou de les modifier avec des cas particuliers.

Veuillez vous référer à la clause MySQL CAST pour plus de détails.

· COMPRENANT UNIQUEMENT TABLE DES NOMS CORRESPONDANT À

Introduisez une liste de noms de table séparés par des virgules ou Standard expression utilisé pour limiter
les tables à migrer vers une sous-liste.

Mise en situation :

INCLUANT SEULEMENT LES NOMS DE TABLE CORRESPONDANT ~/film/, acteur

· À L'EXCLUSION TABLE DES NOMS CORRESPONDANT À

Introduisez une liste de noms de table séparés par des virgules ou Standard expression utilisé pour exclure
noms de table de la migration. Ce filtre ne s'applique qu'au résultat de la
COMPRENANT filtre.

À L'EXCLUSION DES NOMS DE TABLE CORRESPONDANT ~

DEFAULT SQLite CASTING DES RÈGLES
Lors de la migration depuis SQLite, les règles de casting suivantes sont fournies :

Numéros:

· tapez tinyint en smallint

· tapez entier à bigint

· tapez float à float en utilisant float-to-string

· tapez real to real en utilisant float-to-string

· tapez double à double précision en utilisant float-to-string

· tapez numérique à numérique en utilisant float-to-string

Des textes:

· tapez caractère au texte drop typemod

· tapez varchar pour déposer le texte typemod

· tapez nvarchar pour déposer le texte typemod

· tapez char pour déposer le texte typemod

· tapez nchar pour déposer le texte typemod

· tapez nvarchar pour déposer le texte typemod

· tapez clob en texte drop typemod

Binaire:

· tapez blob en bytea

Date :

· tapez datetime to timestamptz en utilisant sqlite-timestamp-to-timestamp

· tapez timestamp to timestamptz en utilisant sqlite-timestamp-to-timestamp

· tapez timestamptz to timestamptz en utilisant sqlite-timestamp-to-timestamp

CHARGE MS SQL BASE DE DONNÉES


Cette commande demande à pgloader de charger des données à partir d'une base de données MS SQL. Découverte automatique
du schéma est pris en charge, y compris la construction des index, des clés primaires et étrangères
contraintes.

Voici un exemple :

charger la base de données
de mssql://user@host/dbname
dans postgresql:///dbname

inclure uniquement des noms de table comme 'GlobalAccount' dans le schéma 'dbo'

définir work_mem sur '16MB', maintenance_work_mem sur '512 MB'

avant le chargement, faites $$ drop schema s'il existe dbo cascade ; $$;

Pour MSSQL La commande accepte les clauses et options suivantes :

· De

Chaîne de connexion à un serveur de base de données MS SQL existant qui écoute et accueille
connexion TCP/IP externe. Comme pgloader se superpose actuellement au pilote FreeTDS, pour
changer le port du serveur veuillez exporter le TDSPORT variable d'environnement.

· avec

Lors du chargement à partir d'un MS SQL base de données, les mêmes options que lors du chargement d'un MySQL base de données
sont pris en charge. Veuillez vous référer à la section MySQL. Les options suivantes sont ajoutées :

· engendrent schémas

Lorsque cette option est répertoriée, pgloader crée les mêmes schémas que ceux trouvés sur MS SQL
exemple. C'est la valeur par défaut.

· engendrent aucune schémas

Lorsque cette option est répertoriée, pgloader s'abstient de créer des schémas, vous
doit alors s'assurer que le schéma cible existe.

· CAST

La clause cast permet de spécifier des règles de casting personnalisées, soit pour surcharger la valeur par défaut
règles de casting ou de les modifier avec des cas particuliers.

Veuillez vous référer à la clause MySQL CAST pour plus de détails.

· COMPRENANT UNIQUEMENT TABLE DES NOMS COMME "..." [, '...'] IN SCHÉMA "..."

Introduisez une liste séparée par des virgules de modèles de noms de table utilisés pour limiter les tables à
migrer vers une sous-liste. Plusieurs clauses de ce type peuvent être utilisées, elles seront cumulées
ensemble.

Mise en situation :

inclure uniquement les noms de table lile 'GlobalAccount' dans le schéma 'dbo'

· À L'EXCLUSION TABLE DES NOMS COMME "..." [, '...'] IN SCHÉMA "..."

Introduire une liste séparée par des virgules de modèles de noms de table utilisés pour exclure les noms de table
de la migration. Ce filtre ne s'applique qu'au résultat de la COMPRENANT filtre.

EXCLUSION DES NOMS DE TABLE CORRESPONDANT 'LocalAccount' dans le schéma 'dbo'

DEFAULT MS SQL CASTING DES RÈGLES
Lors de la migration à partir de MS SQL, les règles de casting suivantes sont fournies :

Numéros:

· tapez tinyint en smallint

· tapez float à float en utilisant float-to-string

· tapez real to real en utilisant float-to-string

· tapez double à double précision en utilisant float-to-string

· tapez numérique à numérique en utilisant float-to-string

· tapez décimal à numérique en utilisant float-to-string

· taper de l'argent en numérique en utilisant float-to-string

· tapez smallmoney en numérique en utilisant float-to-string

Des textes:

· tapez char pour déposer le texte typemod

· tapez nchat pour déposer le texte typemod

· tapez varchar pour déposer le texte typemod

· tapez nvarchar pour déposer le texte typemod

· tapez xml pour déposer le texte typemod

Binaire:

· tapez binaire en bytea en utilisant byte-vector-to-bytea

· tapez varbinary en bytea en utilisant byte-vector-to-bytea

Date :

· tapez datetime à timestamptz

· tapez datetime2 à timestamptz

Autres :

· tapez bit en booléen

· tapez hierarchiid en bytea

· tapez la géographie en octets

· tapez uniqueidentifier à uuid en utilisant sql-server-uniqueidentifier-to-uuid

TRANSFORMATION FONCTIONS


Certains types de données sont implémentés d'une manière suffisamment différente pour qu'une fonction de transformation
est nécessaire. Cette fonction doit être écrite en Commun lisp et est recherché dans le
pgloader.transforms paquet.

Certaines fonctions de transformation par défaut sont fournies avec pgloader, et vous pouvez utiliser le
--charge option de ligne de commande pour charger et compiler votre propre fichier lisp dans pgloader à
Durée. Pour que vos fonctions soient trouvées, pensez à commencer votre fichier lisp par le
forme suivante :

(dans le package #:pgloader.transforms)

Les fonctions de transformation fournies sont :

· zéro-date-à-null

Lorsque la date d'entrée n'est que des zéros, retournez nul, qui est chargé en tant que PostgreSQL NULL
valeur.

· date-sans-séparateur

Applique zéro-date-à-null puis transformez la date donnée dans un format que PostgreSQL
traitera en fait :

Dans : "20041002152952"
Out: "2004-10-02 15:29:52"

· temps-sans-séparateur

Transformez l'heure donnée dans un format que PostgreSQL traitera réellement :

Dans : "08231560"
Sortie : "08:23:15.60"

· minuscule-en-booléen

Comme MySQL n'a pas de type booléen approprié, minuscule est souvent utilisé pour mettre en œuvre cela. Cette
transformations de fonction 0 à faux et quoi que ce soit d'autre à vrai'.

· bits en booléen

Comme MySQL n'a pas de type booléen approprié, BIT est souvent utilisé pour mettre en œuvre cela. Cette
la fonction transforme les vecteurs de bits de 1 bit à partir de 0 à f et toute autre valeur à t..

· int-à-ip

Convertissez un entier en une représentation pointée d'un ip4.

Dans : 18435761
Sortie : "1.25.78.177"

· Plage ip

Convertit quelques entiers donnés sous forme de chaînes en une plage d'ip4.

Dans : "16825344" "16825599"
Sortie : "1.0.188.0-1.0.188.255"

· convertir-mysql-point

Convertit de la astext représentation des points dans MySQL vers PostgreSQL
représentation.

Dans : "POINT(48.5513589 7.6926827)"
Sortie : "(48.5513589,7.6926827)"

· flottant-à-chaîne

Convertit un flottant Common Lisp en une chaîne adaptée à un flottant PostgreSQL :

Dans : 100.0d0
Sortie : "100.0"

· set-to-enum-tableau

Convertit une chaîne représentant un MySQL SET en un tableau PostgreSQL de valeurs Enum de
l'ensemble.

Dans : "foo, bar"
Sortie : "{foo,bar}"

· chaîne-vide-à-null

Convertir une chaîne vide en null.

· ajustement à droite

Supprimer les espaces à la fin de la chaîne.

· vecteur-octet-à-octet

Transformez un simple tableau d'octets non signés au format PostgreSQL bytea Hex
représentation telle que documentée à
http://www.postgresql.org/docs/9.3/interactive/datatype-binary.html

· sqlite-horodatage-à-horodatage

Le système de type SQLite est assez intéressant, alors manipulez-le ici pour produire un horodatage
littéraux comme prévu par PostgreSQL. Cela couvre l'année uniquement sur 4 chiffres, 0 date à
des chaînes de date nulles et appropriées.

· sql-server-uniqueidentifier-à-uuid

Le pilote SQL Server reçoit des données de type uniqueidentifier comme vecteur d'octets que nous
ensuite besoin de convertir en une chaîne UUID pour que le format d'entrée PostgreSQL COPY soit traité.

· unix-timestamp-à-timestamptz

Convertit un horodatage unix (nombre de secondes écoulées depuis le début de 1970) en un
format d'horodatage PostgreSQL approprié.

CHARGE MESSAGES


Cette commande est encore expérimentale et permet de recevoir des messages via UDP en utilisant un syslog
format similaire et, selon la correspondance des règles, charge les parties nommées du flux de données dans
une table de destination.

CHARGER LES MESSAGES
DE syslog://localhost:10514/

QUAND CORRESPOND rsyslog-msg DANS apache
ENREGISTREMENT horodatage, ip, repos
DANS postgresql://localhost/db?logs.apache
SET guc_1 = 'valeur', guc_2 = 'autre valeur'

QUAND CORRESPOND rsyslog-msg DANS les autres
INSCRIPTION horodatage, nom de l'application, données
DANS postgresql://localhost/db?logs.others
SET guc_1 = 'valeur', guc_2 = 'autre valeur'

AVEC apache = rsyslog
DONNÉES = IP REST
IP = 1*3CHIFFRE "." 1*3DIGIT "."1*3DIGIT "."1*3DIGIT
REPOS = ~ /.*/

AVEC les autres = rsyslog ;

Comme la commande est encore expérimentale, les options pourraient être modifiées à l'avenir et le
les détails ne sont pas documentés.

Utilisez pgloader en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad




×
Publicité
❤ ️Achetez, réservez ou achetez ici — gratuitement, contribue à maintenir la gratuité des services.