загрузчик
Это командный pgloader, который можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
загрузчик - Загрузчик данных PostgreSQL
СИНТАКСИС
pgloader [ ] [ ] ...
pgloader [ ] ИСХОДНАЯ ЦЕЛЬ
ОПИСАНИЕ
pgloader загружает данные из различных источников в PostgreSQL. Он может преобразовать данные, которые он
читает на лету и отправляет необработанный SQL до и после загрузки. Он использует КОПИЯ
Протокол PostgreSQL для потоковой передачи данных на сервер и управления ошибками путем заполнения
пара отклонить.дата и отклонить.log файлы.
pgloader работает либо с помощью команд, которые читаются из файлов:
команды pgloader.load
или используя все аргументы и параметры, указанные в командной строке:
pgloader ИСТОЧНИК ЦЕЛЬ
АРГУМЕНТЫ
Аргументами pgloader может быть столько файлов загрузки, сколько необходимо, или пара подключений
строки в конкретный входной файл.
ИСТОЧНИК ПОДКЛЮЧЕНИЕ STRING
Формат исходной строки подключения следующий:
формат: ///absolute/path/to/file.ext
формат: //./relative/path/to/file.ext
Где формат может быть одним из CSV, фиксированной, копия, DBF, db3 or ixf.
db: // user: pass @ host: port / dbname
Где может быть db SQLite, mysql or MSSQL.
При использовании исходного формата на основе файла pgloader также поддерживает исходную загрузку файла.
из http-расположения и при необходимости распаковать архив. В этом случае необходимо
использовать --тип возможность указать ожидаемый формат файла. Посмотреть примеры
внизу.
Также обратите внимание, что некоторые форматы файлов требуют описания некоторых деталей реализации, таких как
столбцы для чтения и разделители и цитирование при загрузке из csv.
Для более сложных сценариев загрузки вам нужно будет написать полноценную команду загрузки в
синтаксис, описанный далее в этом документе.
TARGET ПОДКЛЮЧЕНИЕ STRING
Формат целевой строки подключения подробно описан далее в этом документе, см.
Строка подключения раздела.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
ЗАПРОС ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Используйте эти параметры, если хотите узнать больше о том, как использовать загрузчик, поскольку эти параметры
вызовет загрузчик не загружать никаких данных.
-h, --Помогите
Показать сводку использования команды и выйти.
-V, --версия
Показать строку версии pgloader и выйти.
-E, --list-кодировки
Перечислите известные кодировки в этой версии pgloader.
-U, --upgrade-config
Анализируйте заданные файлы в командной строке как pgloader.conf файлы с ЭТО синтаксис
который использовался в pgloader версии 2.x, и выводит новый синтаксис команды для
pgloader на стандартный вывод.
ОБЩАЯ ИНФОРМАЦИЯ ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Эти параметры предназначены для настройки загрузчик поведение при загрузке данных.
-v, --подробный
Будьте многословны.
-q, --тихий
Будь спокоен.
-d, --отлаживать
Показать информационные сообщения уровня отладки.
-D, --root-каталог
Установите корневой рабочий каталог (по умолчанию "/ tmp / pgloader").
-L, --лог-файл
Установите файл журнала pgloader (по умолчанию "/tmp/pgloader.log").
--log-мин-сообщений
Минимальный уровень детализации, необходимый для того, чтобы сообщение журнала попадало в файл журнала. Один из
критический, журнал, ошибка, предупреждение, уведомление, информация или отладка.
--клиент-мин-сообщения
Минимальный уровень детализации, необходимый для вывода сообщения журнала на консоль. Один из
критический, журнал, ошибка, предупреждение, уведомление, информация или отладка.
-S, --резюме
Имя файла, куда копировать итоговый вывод. Когда относительное, имя файла
расширился в * корневой-каталог *.
Формат имени файла по умолчанию равен человек удобочитаемый. Возможно иметь
вывод в удобных для машины форматах, таких как CSV, КОПИЯ (Собственная копия PostgreSQL
формат) или JSON указав имя файла с расширением соотв. . Csv, .копировать or
.json.
-l , --load-lisp-файл
Укажите шепелявку файл для компиляции и загрузки в образ pgloader перед чтением
команды, позволяющие определить дополнительную функцию преобразования. Эти функции должны
быть определенным в pgloader.transforms упаковка. Эта опция может отображаться более чем
один раз в командной строке.
- самообновление :
Укажите каталог где найти исходники pgloader, чтобы один из самых первых
то, что он делает, - это динамическая загрузка (и компиляция в машинный код) другого
версия самой себя, обычно более новая, например, недавняя проверка git.
КОМАНДА ЛИНИЯ ТОЛЬКО ОПЕРАЦИИ
Эти параметры предназначены для использования при использовании загрузчик только из командной строки, скорее
чем использование командного файла, расширенных командных предложений и синтаксического анализатора. В простых случаях это может
будет намного проще использовать ИСТОЧНИК и TARGET прямо в командной строке, затем настройте
загрузка с этими параметрами:
· --с участием "вариант":
Позволяет настраивать параметры из командной строки. Вы можете использовать эту опцию столько раз, сколько
ты хочешь. Аргументы опции должны следовать за предложение для исходного типа
ИСТОЧНИК спецификации, как описано далее в этом документе.
· --установленный "guc_name = ´value´"
Позволяет настроить конфигурацию PostgreSQL из командной строки. Обратите внимание, что опция
синтаксический анализ такой же, как и при использовании из УСТАНОВКА предложение команды, в частности, вы должны
заключите значение guc в одинарные кавычки.
· --поле "..."
Позволяет установить определение исходного поля. Поля накапливаются в порядке, указанном на
командная строка. Возможно использование --поле вариант для каждого поля в источнике
файла или разделить определения полей запятыми, как если бы HAVING
ПОЛЯ пункт.
· --В ролях "..."
Позволяет установить конкретное правило приведения для загрузки данных.
· --тип csv | фиксированный | db3 | ixf | sqlite | mysql | mssql
Позволяет принудительно указать тип источника, если ИСТОЧНИК анализ не приносит удовлетворения.
· - кодирование
Установите кодировку исходного файла, из которого будут загружаться данные.
· --до
Анализируйте заданное имя файла для запросов SQL и запускайте их в целевой базе данных перед
загрузка данных из источника. Запросы разбираются самим pgloader: им нужно
заканчиваться точкой с запятой (;), и файл может включать \i or \ ir команды для
включают другой файл.
· --после
Анализируйте заданное имя файла для запросов SQL и запускайте их в целевой базе данных после
загрузив данные из источника. Запросы разбираются так же, как и с
--до вариант, см. выше.
ЕЩЁ ОТЛАЖИВАТЬ ИНФОРМАЦИЯ
Чтобы получить максимальное количество отладочной информации, вы можете использовать как --подробный и
--отлаживать переключается одновременно, что равносильно тому, чтобы сказать --клиент-мин-сообщения
данным. Затем в сообщениях журнала будут отображаться обрабатываемые данные в тех случаях, когда
код имеет явную поддержку для этого.
ИСПОЛЬЗОВАНИЕ ПРИМЕРЫ
Просмотрите параметры командной строки и версию pgloader:
загрузчик --помощь
загрузчик --версия
Загрузка от a комплекс команду
Используйте командный файл в качестве аргумента команды pgloader, pgloader проанализирует этот файл и
выполнить найденные в нем команды:
pgloader --verbose ./test/csv-districts.load
CSV
Загрузите данные из файла CSV в уже существующую таблицу в вашей базе данных:
pgloader --тип csv \
--field id --field поле \
- с усечением \
--с "полями, оканчивающимися знаком ´, ´" \
./тест/данные/соответствие-1.csv \
postgres: /// pgloader? tablename = соответствие
В этом примере вся загрузка выполняется из командной строки, что исключает необходимость в
полностью написать команду в синтаксисе команды pgloader. Поскольку команды нет,
необходимая дополнительная информация должна быть предоставлена в командной строке с помощью --тип и
--поле и --с участием переключатели.
Для документации о доступных синтаксисах для --поле и --с участием переключатели, пожалуйста
обратитесь к разделу CSV далее на странице руководства.
Также обратите внимание, что URI PostgreSQL включает целевой имя таблицы.
Reading от СТАНДИН
Исходные файлы pgloader на основе файлов могут быть загружены со стандартного ввода, как показано ниже
пример:
pgloader --тип csv \
--field "usps, geoid, aland, awater, aland_sqmi, awater_sqmi, intptlat, intptlong" \
--with "skip header = 1" \
- с "полями, оканчивающимися знаком ´ \ t´" \
- \
postgresql: /// pgloader? districts_longlat \
<test / data / 2013_Gaz_113CDs_national.txt
Тире (-) символ как источник используется для обозначения стандарт вход, как обычно в Unix
командные строки. С помощью этого метода можно передавать сжатый контент в pgloader,
используя канал Unix:
gunzip -c source.gz | pgloader --type csv ... - pgsql: /// цель? foo
Загрузка от CSV доступен через HTTP
Та же команда, что и выше, также может быть запущена, если файл CSV находится на
удаленное местоположение HTTP:
pgloader --тип csv \
--field "usps, geoid, aland, awater, aland_sqmi, awater_sqmi, intptlat, intptlong" \
--with "skip header = 1" \
- с "полями, оканчивающимися знаком ´ \ t´" \
http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt \
postgresql: /// pgloader? districts_longlat
В этом случае необходимо использовать еще несколько параметров, так как файл содержит однострочный заголовок.
(чаще всего это названия столбцов, это может быть уведомление об авторских правах). Кроме того, в этом случае мы
укажите все поля прямо в одном --поле аргумент опции.
Опять же, целевая строка подключения PostgreSQL должна содержать имя таблицы вариант и ты
необходимо убедиться, что целевая таблица существует и может соответствовать данным. Вот команда SQL
используется в этом примере, если вы хотите попробовать сами:
создать таблицу districts_longlat
(
текст usps
текст геоида
Аланд Бигинт
вода бигинт
aland_sqmi двойной точности,
awater_sqmi двойной точности,
intptlat двойной точности,
intptlong с двойной точностью
);
Также обратите внимание, что та же команда будет работать с архивной версией тех же данных,
или http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz.
Наконец, важно отметить, что pgloader сначала извлекает контент из URL-адреса HTTP.
его в локальный файл, затем разверните архив, когда он распознается как один, и только затем
обрабатывает локально развернутый файл.
В некоторых случаях либо потому, что pgloader не поддерживает прямой формат вашего архива, либо
возможно, из-за того, что расширение архива невозможно в вашей среде, вы можете захотеть
поток содержимое прямо из удаленного места в PostgreSQL. Вот как это сделать
что, используя старый протестированный трюк Unix Pipes:
виться http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz \
| ганзип -с \
| pgloader --тип csv \
--field "usps, geoid, aland, awater, aland_sqmi, awater_sqmi, intptlat, intptlong"
--with "skip header = 1" \
- с "полями, оканчивающимися знаком ´ \ t´" \
- \
postgresql: /// pgloader? districts_longlat
Теперь ОС позаботится о потоковой передаче и буферизации между сетью и
Команды и pgloader позаботятся о потоковой передаче данных в PostgreSQL.
мигрирующий от SQLite
Следующая команда откроет базу данных SQLite, обнаружит определения ее таблиц.
включая индексы и внешние ключи, перенесите эти определения, пока литье тип данных
спецификации в их эквивалент PostgreSQL, а затем перенесите данные через:
созданаб новаябд
pgloader ./test/sqlite/sqlite.db postgresql: /// newdb
мигрирующий от MySQL
Просто создайте базу данных, в которой будут размещаться данные и определения MySQL, а pgloader сделает это.
миграция для вас в одной командной строке:
созданоb pagila
pgloader mysql: // пользователь @ localhost / sakila postgresql: /// pagila
Получение an заархивированном DBF файл от a HTTP удаленные Локация
Pgloader может загрузить файл по HTTP, разархивировать его и только затем открыть
это, чтобы обнаружить схему, а затем загрузить данные:
созданоb foo
pgloader --тип dbf http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/historiq2013.zip postgresql: /// foo
Здесь pgloader не может угадать, какой источник данных ему предоставляется, поэтому
необходимо использовать --тип переключатель командной строки.
пАРТИЙ И RETRY ПОВЕДЕНИЕ
Для загрузки данных в PostgreSQL pgloader использует КОПИЯ протокол потоковой передачи. Пока это
более быстрый способ загрузки данных, КОПИЯ имеет важный недостаток: как только PostgreSQL выдает
ошибка с любым битом данных, отправленных на него, независимо от проблемы, весь набор данных
отклонено PostgreSQL.
Чтобы обойти это, pgloader разрезает данные на партии по 25000 строк каждая, так что когда
возникает проблема, она влияет только на это количество строк данных. Каждая партия хранится в памяти
в то время как КОПИЯ происходит потоковая передача, чтобы иметь возможность обрабатывать ошибки, если они произойдут.
Когда PostgreSQL отклоняет весь пакет, pgloader регистрирует сообщение об ошибке, а затем изолирует
плохая строка (строки) из принятых, повторяя пакетные строки меньшими партиями. Делать
что pgloader анализирует КОНТЕКСТ сообщение об ошибке из-за неудачной КОПИИ, так как сообщение
содержит номер строки, в которой была обнаружена ошибка в пакете, как показано ниже
пример:
КОНТЕКСТ: ошибки КОПИРОВАНИЯ, строка 3, столбец b: «2006-13-11»
Используя эту информацию, pgloader перезагрузит все строки в пакете перед ошибочным
один, зарегистрируйте ошибочный как отклоненный, затем попробуйте загрузить оставшуюся часть пакета в
однократная попытка, которая может содержать или не содержать другие ошибочные данные.
В конце загрузки, содержащей отклоненные строки, вы найдете два файла в корневой каталог
location в каталоге с таким же именем, как целевая база данных вашей установки. В
имена файлов - это целевая таблица, а их расширения - .dat для отклоненных данных и
.log для файла, содержащего полные журналы клиентской стороны PostgreSQL об отклоненных данных.
Команда .dat файл отформатирован в PostgreSQL текстовый формат COPY, как описано в
http://www.postgresql.org/docs/9.2/static/sql-copy.html# AEN66609.
A ЗАМЕТКА О КОМПАНИИ РАБОЧИЕ
pgloader был разработан с учетом производительности, чтобы справиться с любыми
растущая потребность в загрузке больших объемов данных в PostgreSQL.
Базовая архитектура, которую он использует, - это старая модель конвейера Unix, в которой поток отвечает за
для загрузки данных (чтение файла CSV, запрос MySQL и т. д.) и заполнение предварительно обработанных
данные в очередь. Еще потоки подаются из очереди, примените еще преобразований
во входные данные и передать конечный результат в PostgreSQL, используя протокол COPY.
При наличии файла, который PostgreSQL КОПИЯ команда умеет разбирать, и если файл
не содержит ошибочных данных, тогда pgloader никогда не будет таким быстрым, как простое использование
PostgreSQL КОПИЯ команда.
Обратите внимание, что в то время как КОПИЯ команда ограничена для чтения либо со стандартного ввода, либо
из локального файла в файловой системе сервера, инструмент командной строки PSQL реализует
\ копировать команда, которая знает, как передать локальный файл клиенту по сети и
на сервер PostgreSQL, используя тот же протокол, что и pgloader.
ИСТОЧНИК ФОРМАТЫ
pgloader поддерживает следующие форматы ввода:
· Csv, который также включает tsv и другие распространенные варианты, в которых вы можете изменить
разделитель и квотирование правила и как бежать кавычки самих себя;
· Файл с фиксированными столбцами, где pgloader достаточно гибок для работы с исходными файлами
недостающие столбцы (оборванный фиксированной обзор файлов действительно существуют);
· Файлы в формате PostgreSLQ COPY в соответствии с документацией COPY TEXT PostgreSQL,
такие как файлы отклонения, подготовленные pgloader;
· Файлы базы данных, известные как файлы db3 или dbf;
· Файлы в формате ixf, где ixf - это двоичный формат хранения от IBM;
· Базы данных sqlite с полностью автоматизированным обнаружением схемы и расширенными правилами приведения;
· Базы данных mysql с полностью автоматическим обнаружением схемы и расширенными правилами приведения;
· Базы данных MS SQL с полностью автоматизированным обнаружением схемы и расширенными правилами приведения типов.
ЗАГРУЗКА КОМАНДЫ СИНТАКСИС
pgloader реализует предметно-ориентированный язык, позволяющий настраивать сложную загрузку данных.
скрипты, обрабатывающие вычисляемые столбцы и дезинфекцию входных данных на лету. Для большего
сложные сценарии загрузки данных, вам потребуется изучить синтаксис этого DSL. Его
должен выглядеть знакомым для администраторов баз данных, будучи вдохновленным SQL там, где это имеет смысл, что не является
это в конце концов.
Команды pgloader следуют тем же правилам глобальной грамматики. Каждый из них может поддержать
только подмножество общих опций и предоставляют конкретные опции.
НАГРУЗКА
ИЗ [ИМЕЮЩИЕ ПОЛЯ ]
В [ЦЕЛЕВЫЕ КОЛОНКИ ]
[ С УЧАСТИЕМ ]
[ УСТАНОВЛЕННЫЙ ]
[ПЕРЕД ЗАГРУЗКОЙ [СДЕЛАТЬ | ВЫПОЛНЯТЬ ] ...]
[ПОСЛЕ ЗАГРУЗКИ [СДЕЛАТЬ | ВЫПОЛНЯТЬ ] ...]
;
Основными статьями являются НАГРУЗКИ, от, INTO и пункты, которые реализует каждая команда.
Затем некоторая команда реализует УСТАНОВКА команда или некоторые конкретные предложения, такие как БРОСАТЬ
пункт.
ОБЩИЙ ПОЛОЖЕНИЯ
Некоторые пункты являются общими для всех команд:
· от
Команда от предложение определяет, откуда читать данные, и каждая команда вводит свой
собственный вариант исходников. Например, CSV источник поддерживает встроенный, STDIN, чтобы
имя файла, имя файла в кавычках и ИМЯ ФАЙЛА МАТЧИКИ пункт (см. выше); тогда как
MySQL source поддерживает только спецификацию URI базы данных MySQL.
Во всех случаях от предложение может считывать свое значение из переменной среды
при использовании формы ГЕТЕНВ «имя_переменной».
· INTO
URI подключения PostgreSQL должен содержать имя целевой таблицы, куда загружать
данные в. Эта таблица должна быть уже создана в PostgreSQL, и имя
может быть квалифицирован по схеме.
Команда INTO URI соединения с целевой базой данных может быть извлечен из значения среды
переменная при использовании формы ГЕТЕНВ «имя_переменной».
Затем INTO опция также поддерживает необязательный список целевых столбцов, разделенных запятыми,
которые являются либо именем входа поле или список разделенных пробелами
имя целевого столбца, его тип данных PostgreSQL и С ПОМОЩЬЮ выражение.
Команда С ПОМОЩЬЮ выражение может быть любой допустимой формой Common Lisp и будет прочитано с
текущий пакет установлен на pgloader.transforms, чтобы вы могли использовать функции, определенные в
этот пакет, например функции, загружаемые динамически с --нагрузка командной строки
Параметр.
Каждый С ПОМОЩЬЮ выражение компилируется во время выполнения в собственный код.
Эта функция позволяет pgloader загружать любое количество полей из файла CSV в
возможно другое количество столбцов в базе данных, используя для этого специальный код
проекция.
·
Набор параметров для применения к команде с использованием глобального синтаксиса:
· ключ = ценностное
· используют вариант
· do используют вариант
См. Подробную информацию о каждой конкретной команде.
· УСТАНОВКА
Этот пункт позволяет указать параметры сеанса, которые будут установлены для всех открытых сеансов.
пользователем pgloader. Ожидается список с именем параметра, знаком равенства, а затем
значение в одинарных кавычках в виде списка, разделенного запятыми.
Имена и значения параметров не проверяются pgloader, они задаются
как есть с PostgreSQL.
· ДО НАГРУЗКИ DO
Вы можете запускать SQL-запросы к базе данных перед загрузкой данных из CSV
файл. Наиболее распространенные запросы SQL: СОЗДАТЬ ТАБЛИЦА IF НЕ СУЩЕСТВУЕТ так что данные могут быть
загружен.
Каждая команда должна быть котируемый в долларах: он должен начинаться и заканчиваться двойным знаком доллара,
$$. Запросы, заключенные в долларовые кавычки, разделяются запятыми. Никаких лишних знаков препинания не ожидается
после последнего запроса SQL.
· ДО НАГРУЗКИ ВЫПОЛНИТЬ
Такое же поведение, как и в ДО НАГРУЗКИ DO пункт. Позволяет читать запросы SQL
из файла SQL. Реализует поддержку для PostgreSQL долларовых кавычек и \i и \ ir
включать объекты, как в PSQL пакетный режим (где они одно и то же).
· ПОСЛЕ НАГРУЗКИ DO
Тот же формат, что и ДО НАГРУЗКИ DO, найденные в этом разделе запросы с долларовыми кавычками
выполняется после завершения загрузки. Сейчас подходящее время для создания индексов и
ограничения или повторно активируйте триггеры.
· ПОСЛЕ НАГРУЗКИ ВЫПОЛНИТЬ
Такое же поведение, как и в ПОСЛЕ НАГРУЗКИ DO пункт. Позволяет читать запросы SQL из
файл SQL. Реализует поддержку для PostgreSQL долларовых кавычек и \i и \ ir
включать объекты, как в PSQL пакетный режим (где они одно и то же).
Связь строка
Команда ожидается, что параметр будет задан как Связь URI как задокументировано
в документации PostgreSQL по адресу
http://www.postgresql.org/docs/9.3/static/libpq-connect.html# LIBPQ-CONNSTRING.
postgresql: // [пользователь [: пароль] @] [netloc] [: порт] [/ dbname] [? option = value & ...]
Где:
· пользователь
Может содержать любой символ, включая двоеточие (:), который затем должен быть удвоен (::) и расширение
знак (@), который затем должен быть удвоен (@@).
Если опущено, пользователь имя по умолчанию равно значению PGUSER переменная окружения,
и если он не установлен, значение USER переменная среды.
· password
Может содержать любой символ, в том числе знак at (@), который затем должен быть удвоен (@@).
Чтобы оставить пароль пустым, когда пользователь имя заканчивается на знак at, тогда вам нужно
используйте синтаксис user: @.
Если опущено, password по умолчанию значение ПАРОЛЬ охрана окружающей среды
переменная, если она установлена, в противном случае пароль не устанавливается.
· сетьлок
Может быть либо имя хоста в точечной нотации, либо ipv4, либо сокет домена Unix.
дорожка. Пусто - это сетевое расположение по умолчанию в системе, предоставляющей Юникс домен
гнездо этот метод является предпочтительным, в противном случае сетьлок по умолчанию локальный.
Можно заставить Юникс домен гнездо путь с использованием синтаксиса
unix: / путь / к / где / находится / сокет / файл /, чтобы заставить путь сокета не по умолчанию и
порт не по умолчанию, у вас будет:
postgresql: // unix:/ Tmp: 54321 / dbname
Команда сетьлок по умолчанию значение ПРИЗРАК переменная окружения, и если она не установлена,
либо по умолчанию Юникс путь к сокету при работе в системе Unix, и локальный
в противном случае.
· имя_базы_данных
Должен быть правильный идентификатор (буква, за которой следует сочетание букв, цифр и
знаки препинания запятая (,), тире (-) и подчеркивание (_).
Если опущено, имя_базы_данных по умолчанию используется значение переменной среды ПГДАННЫЕ,
и если это не установлено, к пользователь значение, как определено выше.
· кредита
Необязательные параметры должны быть предоставлены с формой имя = значение, и вы можете использовать
несколько параметров, разделив их амперсандом (&) персонаж.
Здесь поддерживаются только некоторые параметры, имя таблицы (который можно квалифицировать как
имя схемы) SSL-режим, кашель, порт, имя_базы_данных, пользователь и password.
Команда SSL-режим значения параметров могут быть одним из запрещать, позволять, предпочитать or требовать.
По причинам обратной совместимости можно указать имя таблицы вариант
прямо, без объяснения tablename = частей.
Параметры переопределяют основные компоненты URI, если указаны оба и используются
параметры опции в процентном кодировании позволяют использовать пароли, начинающиеся с двоеточия и
обход ограничений на синтаксический анализ других компонентов URI.
Стандарт Expressions
Некоторые пункты, перечисленные ниже, принимают регулярный выражения с GMT
правила ввода:
· Регулярное выражение начинается со знака тильды (~),
· Затем следует открывающий знак,
· Тогда любой символ разрешен и считается частью регулярного выражения, кроме
для закрывающего знака,
· Тогда ожидается закрывающий знак.
Знаки открытия и закрытия разрешены парами, вот полный список разрешенных
разделители:
~ //
~ []
~ {}
~ ()
~ <>
~ ""
~ ´´
~ ||
~ ##
Выберите набор разделителей, которые не пересекаются с регулярный выражение ты пытаешься
Вход. Если ваше выражение таково, что ни одно из решений не позволяет вам ввести его,
места, где разрешены такие выражения, должны содержать список выражений.
Комментарии
Любая команда может содержать комментарии, следуя этим правилам ввода:
· В -- разделитель начинает комментарий, который заканчивается концом текущей строки,
· Разделители /* и */ соответственно начало и конец комментария, который можно найти в
в середине команды или в несколько строк.
Любое место, где вы могли бы войти пробельные тоже приму комментарий.
Партия поведение кредита
Все команды pgloader поддерживают предложение, которое позволяет указывать параметры.
Некоторые параметры являются общими и принимаются всеми командами, например партия поведение
кредита, а некоторые параметры зависят от типа источника данных, например CSV пропускать заголовок
опцию.
Параметры глобального пакетного поведения:
· партия строки
Принимает числовое значение в качестве аргумента, используемое как максимальное количество строк, разрешенное в
партия. По умолчанию 25 000 и может быть изменен, чтобы улучшить производительность
характеристики или для управления использованием памяти pgloader;
· партия размер
Принимает в качестве аргумента единицу памяти, например 20 MB, его значение по умолчанию. Принято
множители kB, MB, GB, TB и PB. Корпус важен, чтобы не перепутать
Что касается битов по сравнению с байтами, мы говорим здесь только о байтах.
· партия совпадение
Принимает числовое значение в качестве аргумента, по умолчанию 10. Это количество партий,
pgloader позволяет встраивать память, даже если только один пакет за раз может
быть отправленным в PostgreSQL.
Поддержка одновременной отправки более одного пакета включена в список TODO.
pgloader, но пока не реализован. Эта опция касается управления памятью
потребности pgloader как компромисс с характеристиками производительности, а не с
параллельная деятельность pgloader.
Другие параметры зависят от каждого источника входного сигнала, см. Конкретные части
документация по их перечислению и покрытию.
Затем партия закрывается, как только партия строки или партия размер порог
скрещены, в зависимости от того, что наступит раньше. В случаях, когда партия должна быть закрыта из-за
партия размер установка, отлаживать печатается сообщение журнала уровня с указанием того, сколько строк поместилось в
мягкая кожа партия.
НАГРУЗКИ CSV
Эта команда инструктирует pgloader загрузить данные из CSV файл. Вот пример:
ЗАГРУЗИТЬ CSV
ИЗ «GeoLiteCity-Blocks.csv» С КОДИРОВКОЙ iso-646-us
ИМЕЮЩИЕ ПОЛЯ
(
startIpNum, endIpNum, locId
)
INTO postgresql: // user @ localhost: 54393 / dbname? Geolite.blocks
ЦЕЛЕВЫЕ КОЛОНКИ
(
iprange ip4r с использованием (ip-range startIpNum endIpNum),
местонахождение
)
С усечением,
пропустить заголовок = 2,
поля, необязательно заключенные в ´ "´,
поля, экранированные обратной косой чертой,
поля, заканчивающиеся символом z \ t´
УСТАНОВИТЕ work_mem на «32 МБ», maintenance_work_mem на «64 МБ»;
Команда CSV Команда format принимает следующие пункты и параметры:
· от
Имя файла, откуда загружать данные. Принимает КОДИРОВАНИЕ вариант. Использовать
--list-кодировки возможность узнать, какие имена кодировок поддерживаются.
Имя файла может быть заключено в одинарные кавычки и может быть одним из следующих
специальные значения:
· встроенный
Данные находятся после окончания разобранных команд. Любое количество пустых строк
между концом команд и началом данных допускается.
· STDIN
Читает данные из стандартного входного потока.
· ФИЛЕНАМЫ МАТЧИКИ
Целый согласование пункт должен соответствовать следующему правилу:
[ВСЕ ФИЛЕНАМЫ | [FIRST] FILENAME]
СООТВЕТСТВИЕ регулярному выражению
[В КАТАЛОГЕ ´ ... ´]
Команда согласование пункт применяется с учетом регулярный выражение (точный синтаксис см. выше, несколько
здесь можно использовать опции) к именам файлов. После этого можно загружать данные только из
первый матч всех из них.
Необязательный IN СПРАВОЧНИК предложение позволяет указать, в какой каталог нужно пройти, чтобы найти
файлы данных, и может быть либо относительно того, откуда читается командный файл, либо
абсолютный. Данный каталог должен существовать.
Команда от опция также поддерживает необязательный список разделенных запятыми поле имена, описывающие
что ожидается в CSV файл данных, необязательно введенный предложением HAVING ПОЛЯ.
Каждое имя поля может быть либо только одним именем, либо именем, следующим за определенным читателем.
параметры для этого поля, заключенные в квадратные скобки и разделенные запятыми. Поддерживается
Параметры чтения для каждого поля:
· прекращается by
См. Описание поле прекращается by внизу.
Обработка этой опции на данный момент не реализована.
· даты формат
Если в поле ожидается тип даты, то эта опция позволяет указать
формат даты, используемый в файле.
Строка формата даты - это строки шаблона, смоделированные на основе PostgreSQL. to_char
поддержка шаблонных строк, ограниченная следующими шаблонами:
· ГГГГ, ГГГ, ГГ для части года
· MM для числовой части месяца
· ДД для числовой части дня
· HH, HH12, HH24 для часовой части
· Утра, утра, утра, утра
· Вечера, вечера, вечера, вечера
· MI для минутной части
· СС на секундную часть
· MS для части миллисекунд (4 цифры)
· США для микросекунд (6 цифр)
· Неразборчивые знаки препинания: -. * # @ T / \ и пробел
Вот пример даты формат Спецификация:
имя-столбца [формат даты ´ГГГГ-ММ-ДД ЧЧ24-МИ-СС.US´]
· нуль if
Эта опция принимает аргумент, который является либо ключевым словом заготовки или двойные кавычки
строка.
После появления заготовки используется, а считываемое значение поля содержит только пробелы,
затем он автоматически конвертируется в SQL NULL, значения.
Когда используется строка в двойных кавычках и эта строка читается как значение поля, тогда
значение поля автоматически конвертируется в SQL NULL, значения.
· отделка изоферменты печени пробельные, отделка оставил пробельные, отделка правую пробельные
Эта опция позволяет обрезать пробелы в считываемых данных либо с обеих сторон
данные, или только символы пробела, найденные слева от строки, или только
те, что справа от строки.
·
При загрузке из CSV файла поддерживаются следующие параметры:
· усекать
Когда эта опция указана, pgloader выдает ОБРЕЗАТЬ команда против PostgreSQL
целевая таблица перед чтением файла данных.
· падение Индексы
Когда эта опция указана, pgloader выдает ошибку. DROP ИНДЕКС команды против всех
индексы, определенные в целевой таблице перед копированием данных, затем СОЗДАТЬ ИНДЕКС
приказывает, когда КОПИЯ готово.
Чтобы получить максимальную производительность, все индексы создаются в
параллельно, и когда это будет сделано, первичные ключи снова построены из уникальных индексов только
созданный. Этот двухэтапный процесс позволяет создать индекс первичного ключа параллельно с
другие индексы, так как только ALTER ТАБЛИЦА команде нужен доступ эксклюзив Блокировка on
целевая таблица.
· запрещать триггеры
Когда эта опция указана, pgloader выдает ALTER ТАБЛИЦА ... DISABLE TRIGGER BCE
перед копированием данных для целевой таблицы PostgreSQL, затем команда
ALTER ТАБЛИЦА ... ВКЛЮЧИТЬ TRIGGER BCE однажды КОПИЯ готово.
Эта опция позволяет загружать данные в уже существующую таблицу, игнорируя иностранный ключ
ограничения и определяемые пользователем триггеры, что может привести к недействительным иностранный ключ
ограничения после загрузки данных. Используйте с осторожностью.
· пропускать заголовок
Принимает числовое значение в качестве аргумента. Укажите pgloader пропустить такое количество строк в
начало входного файла.
· CSV заголовок
Используйте первую строку, читаемую после пропускать заголовок как список имен полей csv, которые нужно найти
в файле CSV, используя те же параметры CSV, что и для данных CSV.
· отделка не цитируется заготовки
При чтении значений без кавычек в CSV файла удалите пробелы, найденные между
разделитель и значение. Это поведение по умолчанию.
· держать не цитируется заготовки
При чтении значений без кавычек в CSV файла, оставьте пробелы между
разделитель и значение.
· поля опционально закрытый by
Принимает в качестве аргумента один символ, который должен быть заключен в одинарные кавычки, и
может быть задан как печатный символ, специальное значение \ t для обозначения
символ табуляции, или 0x затем шестнадцатеричное значение, считанное как код ASCII для
характер.
Этот символ используется в качестве символа цитирования в CSV файл и по умолчанию
двойные кавычки.
· поля закрытый
По умолчанию pgloader будет использовать двойные кавычки в качестве заключительного символа.
Если у вас есть CSV-файл, где поля не заключены и используются двойные кавычки в качестве
ожидаемый обычный символ, тогда используйте опцию поля закрытый для CSV
синтаксический анализатор для принятия этих значений.
· поля спасся by
Принимает либо особое значение обратная косая черта or двойная кавычка, или любое поддерживаемое значение
не провела обыск поля прекращается by вариант (см. ниже). Это значение используется для распознавания
экранированные разделители полей, когда они должны находиться в самих полях данных.
По умолчанию двойная кавычка.
· CSV бежать Режим
Принимает либо особое значение цену (по умолчанию) или после и позволяет CSV
синтаксический анализатор для синтаксического анализа либо только экранированного разделителя полей, либо любого символа (включая CSV
данные) при использовании после значения.
· поля прекращается by
Принимает в качестве аргумента один символ, который должен быть заключен в одинарные кавычки, и
может быть задан как печатный символ, специальное значение \ t для обозначения
символ табуляции, или 0x затем шестнадцатеричное значение, считанное как код ASCII для
характер.
Этот символ используется как поле разделитель при чтении CSV поле.
· линий прекращается by
Принимает в качестве аргумента один символ, который должен быть заключен в одинарные кавычки, и
может быть задан как печатный символ, специальное значение \ t для обозначения
символ табуляции, или 0x затем шестнадцатеричное значение, считанное как код ASCII для
характер.
Этот символ используется для распознавания конец линии состояние при чтении CSV поле.
НАГРУЗКИ FIXED COLS
Эта команда инструктирует pgloader загрузить данные из текстового файла, содержащего столбцы, расположенные
в фиксированной размер манера. Вот пример:
ЗАГРУЗКА ФИКСИРОВАННАЯ
ОТ встроенного
(
от 0 до 10,
б из 10 по 8,
c 18 по 8,
d от 26 до 17 [null, если пробелы, обрезать правый пробел]
)
INTO postgresql: /// pgloader? Исправлено
(
а, б,
c время использования (время без разделителя c),
d
)
С усечением
УСТАНОВИТЕ client_encoding как «latin1»,
work_mem в «14MB»,
standard_conforming_strings в «on»
ПЕРЕД ЗАГРУЗКОЙ СДЕЛАТЬ
$$ удалить таблицу, если существует, исправлено; $$,
$$ создать таблицу исправлено (
целое число,
дата b,
c время,
d текст
);
$$;
01234567892008052011431250 первая линия
01234562008052115182300 левый с мягкой подкладкой
12345678902008052208231560другая линия
2345609872014092914371500
2345678902014092914371520
Команда фиксированной Команда format принимает следующие пункты и параметры:
· от
Имя файла, откуда загружать данные. Принимает КОДИРОВАНИЕ вариант. Использовать
--list-кодировки возможность узнать, какие имена кодировок поддерживаются.
Имя файла может быть заключено в одинарные кавычки и может быть одним из следующих
специальные значения:
· встроенный
Данные находятся после окончания разобранных команд. Любое количество пустых строк
между концом команд и началом данных допускается.
· STDIN
Читает данные из стандартного входного потока.
Команда от опция также поддерживает необязательный список разделенных запятыми поле имена, описывающие
что ожидается в FIXED файл данных.
Каждое имя поля состоит из имени поля, за которым следуют определенные параметры чтения для
это поле. Поддерживаются следующие варианты чтения для каждого поля, где только Начало и
необходимы.
· Начало
Позиция в строке, с которой следует начать чтение значения этого поля. Можно ввести с помощью
десятичные цифры или 0x затем шестнадцатеричные цифры.
·
Сколько байтов читать из Начало положение для чтения значения этого поля. Тот же формат
as Начало.
Эти необязательные параметры должны быть заключены в квадратные скобки и разделены запятыми:
· прекращается by
См. Описание поле прекращается by внизу.
Обработка этой опции на данный момент не реализована.
· даты формат
Если в поле ожидается тип даты, то эта опция позволяет указать
формат даты, используемый в файле.
Строка формата даты - это строки шаблона, смоделированные на основе PostgreSQL. to_char
поддержка шаблонных строк, ограниченная следующими шаблонами:
· ГГГГ, ГГГ, ГГ для части года
· MM для числовой части месяца
· ДД для числовой части дня
· HH, HH12, HH24 для часовой части
· Утра, утра, утра, утра
· Вечера, вечера, вечера, вечера
· MI для минутной части
· СС на секундную часть
· MS для части миллисекунд (4 цифры)
· США для микросекунд (6 цифр)
· Неразборчивые знаки препинания: -. * # @ T / \ и пробел
Вот пример даты формат Спецификация:
имя-столбца [формат даты ´ГГГГ-ММ-ДД ЧЧ24-МИ-СС.US´]
· нуль if
Эта опция принимает аргумент, который является либо ключевым словом заготовки или двойные кавычки
строка.
После появления заготовки используется, а считываемое значение поля содержит только пробелы,
затем он автоматически конвертируется в SQL NULL, значения.
Когда используется строка в двойных кавычках и эта строка читается как значение поля, тогда
значение поля автоматически конвертируется в SQL NULL, значения.
· отделка изоферменты печени пробельные, отделка оставил пробельные, отделка правую пробельные
Эта опция позволяет обрезать пробелы в считываемых данных либо с обеих сторон
данные, или только символы пробела, найденные слева от строки, или только
те, что справа от строки.
·
При загрузке из FIXED файла поддерживаются следующие параметры:
· усекать
Когда эта опция указана, pgloader выдает ОБРЕЗАТЬ команда против PostgreSQL
целевая таблица перед чтением файла данных.
· запрещать триггеры
Когда эта опция указана, pgloader выдает ALTER ТАБЛИЦА ... DISABLE TRIGGER BCE
перед копированием данных для целевой таблицы PostgreSQL, затем команда
ALTER ТАБЛИЦА ... ВКЛЮЧИТЬ TRIGGER BCE однажды КОПИЯ готово.
Эта опция позволяет загружать данные в уже существующую таблицу, игнорируя иностранный ключ
ограничения и определяемые пользователем триггеры, что может привести к недействительным иностранный ключ
ограничения после загрузки данных. Используйте с осторожностью.
· пропускать заголовок
Принимает числовое значение в качестве аргумента. Укажите pgloader пропустить такое количество строк в
начало входного файла.
НАГРУЗКИ КОПИЯ ФОРМАТИРОВАННЫЙ FILES
Эта команда указывает pgloader на загрузку из файла, содержащего данные КОПИРОВАТЬ ТЕКСТ как
описано в документации PostgreSQL. Вот пример:
ЗАГРУЗИТЬ КОПИЮ
ИЗ copy: //./data/track.copy
(
trackid, трек, альбом, медиа, жанр, композитор,
миллисекунды, байты, unitprice
)
В postgresql: /// pgloader? Track_full
С усечением
УСТАНОВИТЕ client_encoding как «latin1»,
work_mem в «14MB»,
standard_conforming_strings в «on»
ПЕРЕД ЗАГРУЗКОЙ СДЕЛАТЬ
$$ удалить таблицу, если существует track_full; $$,
$$ создать таблицу track_full (
трекид бигсериал,
текст дорожки,
текст альбома,
медиатекст
жанровый текст
композиторский текст,
миллисекунды bigint,
байты bigint,
числовая цена за единицу
);
$$;
Команда КОПИЯ Команда format принимает следующие пункты и параметры:
· от
Имя файла, откуда загружать данные. Это поддерживает локальные файлы, URL-адреса HTTP и zip.
файлы, содержащие один файл dbf с тем же именем. Получите такой zip-файл из
HTTP-адрес, конечно, поддерживается.
·
При загрузке из КОПИЯ файла поддерживаются следующие параметры:
· ограничитель
Принимает в качестве аргумента один символ, который должен быть заключен в одинарные кавычки, и
может быть задан как печатный символ, специальное значение \ t для обозначения
символ табуляции, или 0x затем шестнадцатеричное значение, считанное как код ASCII для
характер.
Этот символ используется как ограничитель при чтении данных аналогично
PostgreSQL КОПИЯ опцию.
· нуль
Принимает в качестве аргумента строку в кавычках (кавычки могут быть как двойными, так и одинарными.
кавычки) и использует эту строку как NULL, представление в данных.
Это похоже на нуль КОПИЯ вариант в PostgreSQL.
· усекать
Когда эта опция указана, pgloader выдает ОБРЕЗАТЬ команда против PostgreSQL
целевая таблица перед чтением файла данных.
· запрещать триггеры
Когда эта опция указана, pgloader выдает ALTER ТАБЛИЦА ... DISABLE TRIGGER BCE
перед копированием данных для целевой таблицы PostgreSQL, затем команда
ALTER ТАБЛИЦА ... ВКЛЮЧИТЬ TRIGGER BCE однажды КОПИЯ готово.
Эта опция позволяет загружать данные в уже существующую таблицу, игнорируя иностранный ключ
ограничения и определяемые пользователем триггеры, что может привести к недействительным иностранный ключ
ограничения после загрузки данных. Используйте с осторожностью.
· пропускать заголовок
Принимает числовое значение в качестве аргумента. Укажите pgloader пропустить такое количество строк в
начало входного файла.
НАГРУЗКИ DBF
Эта команда инструктирует pgloader загрузить данные из DBF файл. Вот пример:
ЗАГРУЗИТЬ DBF
от http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/reg2013.dbf
INTO postgresql: // пользователь @ localhost / dbname
С усечением создать таблицу;
Команда DBF Команда format принимает следующие пункты и параметры:
· от
Имя файла, откуда загружать данные. Это поддерживает локальные файлы, URL-адреса HTTP и zip.
файлы, содержащие один файл dbf с тем же именем. Получите такой zip-файл из
HTTP-адрес, конечно, поддерживается.
·
При загрузке из DBF файла поддерживаются следующие параметры:
· усекать
Когда эта опция указана, pgloader выдает ОБРЕЗАТЬ команда против PostgreSQL
целевая таблица перед чтением файла данных.
· запрещать триггеры
Когда эта опция указана, pgloader выдает ALTER ТАБЛИЦА ... DISABLE TRIGGER BCE
перед копированием данных для целевой таблицы PostgreSQL, затем команда
ALTER ТАБЛИЦА ... ВКЛЮЧИТЬ TRIGGER BCE однажды КОПИЯ готово.
Эта опция позволяет загружать данные в уже существующую таблицу, игнорируя иностранный ключ
ограничения и определяемые пользователем триггеры, что может привести к недействительным иностранный ключ
ограничения после загрузки данных. Используйте с осторожностью.
· Создайте (см. таблицу ниже)
Когда этот параметр указан, pgloader создает таблицу, используя метаданные, найденные в
DBF файл, который должен содержать список полей с их типом данных. Стандарт
преобразование типа данных из DBF в PostgreSQL выполнено.
· (см. таблицу ниже) имя
Эта опция ожидает в качестве своего значения возможно квалифицированное имя создаваемой таблицы.
НАГРУЗКИ IXF
Эта команда инструктирует pgloader загружать данные из IBM IXF файл. Вот пример:
НАГРУЗКА IXF
ИЗ data / nsitra.test1.ixf
В postgresql: /// pgloader? Nsitra.test1
С усечением создать таблицу
ПЕРЕД ЗАГРУЗКОЙ СДЕЛАТЬ
$$ создать схему, если не существует nsitra; $$,
$$ удалить таблицу, если она существует nsitra.test1; $$;
Команда ixf Команда format принимает следующие пункты и параметры:
· от
Имя файла, откуда загружать данные. Это поддерживает локальные файлы, URL-адреса HTTP и zip.
файлы, содержащие один файл ixf с тем же именем. Получите такой zip-файл из
HTTP-адрес, конечно, поддерживается.
·
При загрузке из IXF файла поддерживаются следующие параметры:
· усекать
Когда эта опция указана, pgloader выдает ОБРЕЗАТЬ команда против PostgreSQL
целевая таблица перед чтением файла данных.
· запрещать триггеры
Когда эта опция указана, pgloader выдает ALTER ТАБЛИЦА ... DISABLE TRIGGER BCE
перед копированием данных для целевой таблицы PostgreSQL, затем команда
ALTER ТАБЛИЦА ... ВКЛЮЧИТЬ TRIGGER BCE однажды КОПИЯ готово.
Эта опция позволяет загружать данные в уже существующую таблицу, игнорируя иностранный ключ
ограничения и определяемые пользователем триггеры, что может привести к недействительным иностранный ключ
ограничения после загрузки данных. Используйте с осторожностью.
· Создайте (см. таблицу ниже)
Когда этот параметр указан, pgloader создает таблицу, используя метаданные, найденные в
DBF файл, который должен содержать список полей с их типом данных. Стандарт
преобразование типа данных из DBF в PostgreSQL выполнено.
· (см. таблицу ниже) имя
Эта опция ожидает в качестве своего значения возможно квалифицированное имя создаваемой таблицы.
НАГРУЗКИ АРХИВ
Эта команда инструктирует pgloader загрузить данные из одного или нескольких файлов, содержащихся в
архив. В настоящее время единственным поддерживаемым форматом архива является ZIP, а архив может быть
скачано с HTTP URL.
Вот пример:
ЗАГРУЗИТЬ АРХИВ
ИЗ /Users/dim/Downloads/GeoLiteCity-latest.zip
В postgresql: /// ip4r
ПЕРЕД ЗАГРУЗКОЙ
DO $$ создать расширение, если оно не существует ip4r; $$,
$$ создать схему, если геолита не существует; $$,
ВЫПОЛНИТЬ ´geolite.sql´
ЗАГРУЗИТЬ CSV
ИЗ СООТВЕТСТВИЯ ИМЕНИ ФАЙЛОВ ~ / GeoLiteCity-Location.csv /
С КОДИРОВАНИЕМ iso-8859-1
(
локид,
страна,
область пустая, если пробелы,
город равен нулю, если пропущено,
postalCode null, если пробелы,
широта
долгота
metroCode null, если пробелы,
areaCode null, если пробелы
)
В postgresql: /// ip4r? Geolite.location
(
locid, страна, регион, город, почтовый индекс,
точка местоположения с использованием (формат ноль "(~ a, ~ a)" долгота и широта),
metroCode, areaCode
)
С пропустить заголовок = 2,
поля, необязательно заключенные в ´ "´,
поля, экранированные двойными кавычками,
поля, оканчивающиеся знаком ´, ´
И ЗАГРУЗИТЬ CSV
ИЗ СООТВЕТСТВИЯ ИМЕНИ ФАЙЛОВ ~ / GeoLiteCity-Blocks.csv /
С КОДИРОВАНИЕМ iso-8859-1
(
startIpNum, endIpNum, locId
)
В postgresql: /// ip4r? Geolite.blocks
(
iprange ip4r с использованием (ip-range startIpNum endIpNum),
местонахождение
)
С пропустить заголовок = 2,
поля, необязательно заключенные в ´ "´,
поля, экранированные двойными кавычками,
поля, оканчивающиеся знаком ´, ´
НАКОНЕЦ
$$ создать индекс block_ip4r_idx на geolite.blocks, используя gist (iprange); $$;
Команда архив Команда принимает следующие пункты и параметры:
· от
Имя файла или HTTP URI, откуда загружать данные. Если указан URL-адрес HTTP, связанный
файл будет загружен локально перед обработкой.
Если файл застежка-молния файл, утилита командной строки расстегнуть молнию используется для расширения
архивировать в файлы в $ TMPDIR или / Tmp if $ TMPDIR не установлен или установлен на несуществующий
каталог.
Затем используются следующие команды из каталога верхнего уровня, в котором находится архив.
был расширен.
· Команда [ И команда ...]
Серия команд против содержимого архива, на данный момент только
CSV,ФИКСИРОВАННЫЙ и DBF поддерживаются команды.
Обратите внимание, что команды поддерживают предложение от ИМЯ ФАЙЛА МАТЧИКИ что позволяет
Команда pgloader не зависит от точных имен директорий архива.
Этот же пункт может быть применен к нескольким файлам с использованием орфографии от BCE
ФИЛЕНАМЫ МАТЧИКИ и регулярное выражение.
Целый согласование пункт должен соответствовать следующему правилу:
ИЗ [ВСЕФИЛЕНАМЫ | [ПЕРВЫЙ] ИМЯ ФАЙЛА] СОГЛАСОВАНО
· В КОНЦЕ КОНЦОВ DO
SQL-запросы для запуска после загрузки данных, например СОЗДАТЬ ИНДЕКС.
НАГРУЗКИ MYSQL DATABASE
Эта команда указывает pgloader загружать данные из соединения с базой данных. Единственный
поддерживаемый источник базы данных в настоящее время MySQL, а pgloader поддерживает динамическое преобразование
схема исходной базы данных и построение индексов.
Предоставляется набор правил приведения по умолчанию, который может быть перегружен и добавлен к
команда.
Вот пример:
ЗАГРУЗИТЬ БАЗУ ДАННЫХ
ИЗ mysql: // Корень@ localhost / sakila
В postgresql: // localhost: 54393 / sakila
СО включает удаление, создание таблиц, создание индексов, сброс последовательностей
УСТАНОВИТЕ Maintenance_work_mem на ´128MB´,
work_mem в «12MB»,
search_path к ´sakila´
Тип CAST datetime to timestamptz drop default drop not null, используя нулевые даты до нуля,
тип date drop not null drop default с использованием нулевых дат до нуля,
- введите tinyint в логическое значение, используя tinyint-to-boolean,
введите год в целое число
МАТЕРИАЛИЗАЦИЯ ПРОСМОТРОВ film_list, staff_list
- ВКЛЮЧАЯ ТОЛЬКО СООТВЕТСТВИЕ НАЗВАНИЙ ТАБЛИЦ ~ / фильм /, актер
- ИСКЛЮЧЕНИЕ НАЗВАНИЙ ТАБЛИЦ ~
- ДЕКОДИРОВАНИЕ СООТВЕТСТВИЕ ИМЕНИ ТАБЛИЦ ~ / беспорядок /, ~ / кодирование / Как utf8
ПЕРЕД ЗАГРУЗКОЙ СДЕЛАТЬ
$$ создать схему, если не существует sakila; $$;
Команда база данных Команда принимает следующие пункты и параметры:
· от
Должен быть URL-адрес подключения, указывающий на базу данных MySQL. На данный момент только MySQL
поддерживается как источник pgloader.
Если URI подключения содержит имя таблицы, то только эта таблица переносится из
MySQL в PostgreSQL.
·
При загрузке из MySQL базы данных поддерживаются следующие параметры, а
ошибка статья: нет усекать, Создайте Эта таблица, включают падение, Создайте Индексы, сброс
последовательности, иностранный ключи, вниз идентификаторы.
опции:
· включают падение
Когда указан этот параметр, pgloader удаляет все таблицы в целевом PostgreSQL.
база данных, имена которых присутствуют в базе данных SQLite. Эта опция позволяет использовать
одну и ту же команду несколько раз подряд, пока вы не разберетесь со всеми вариантами, начиная
автоматически из чистой среды. Обратите внимание, что CASCADE используется для обеспечения
эти таблицы удаляются, даже если на них указывают внешние ключи. Это
именно то, что включают падение предназначен для: отбросить все целевые таблицы и воссоздать
их.
При использовании необходимо соблюдать особую осторожность. включают падение, поскольку он будет каскадно переходить в ВСЕ
объекты, ссылающиеся на целевые таблицы, возможно, включая другие таблицы, которые не
загружается из исходной БД.
· включают нет падение
Когда этот параметр указан, pgloader не будет включать никаких DROP выписка при загрузке
данные.
· усекать
Когда эта опция указана, pgloader выдает ОБРЕЗАТЬ команда против каждого
Таблица PostgreSQL непосредственно перед загрузкой в нее данных.
· нет усекать
Когда эта опция указана, pgloader не выдает ОБРЕЗАТЬ команда.
· запрещать триггеры
Когда эта опция указана, pgloader выдает ALTER ТАБЛИЦА ... DISABLE TRIGGER BCE
перед копированием данных для целевой таблицы PostgreSQL, затем команда
ALTER ТАБЛИЦА ... ВКЛЮЧИТЬ TRIGGER BCE однажды КОПИЯ готово.
Эта опция позволяет загружать данные в уже существующую таблицу, игнорируя иностранный ключ
ограничения и определяемые пользователем триггеры, что может привести к недействительным иностранный ключ
ограничения после загрузки данных. Используйте с осторожностью.
· Создайте Эта таблица
Когда этот параметр указан, pgloader создает таблицу, используя метаданные, найденные в
MySQL файл, который должен содержать список полей с их типом данных. Стандарт
преобразование типа данных из DBF в PostgreSQL выполнено.
· Создайте нет Эта таблица
Когда эта опция указана, pgloader пропускает создание таблицы перед загрузкой данных,
тогда целевые таблицы должны уже существовать.
· Создайте Индексы
Когда этот параметр указан, pgloader получает определения всех индексов, найденных в
базу данных MySQL и создайте тот же набор определений индексов для PostgreSQL
.
· Создайте нет Индексы
Когда эта опция указана, pgloader пропускает создание индексов.
· унифицировать индекс имена, сохранять индекс имена
Имена индексов MySQL уникальны для каждой таблицы, тогда как в PostgreSQL имена индексов должны быть
уникальная схема. По умолчанию pgloader изменяет имя индекса с помощью префикса
это с idx_OID в котором OID это внутренний числовой идентификатор таблицы, индекс которой
построен против.
В некоторых случаях, например, когда DDL полностью оставлены на усмотрение фреймворка, это может быть разумным.
для pgloader воздерживаться от обработки уникальных имен индексов, что достигается с помощью
сохранять индекс имена опцию.
По умолчанию унифицировать индекс имена.
Даже при использовании опции сохранять индекс имена, Индексы первичного ключа MySQL, названные
Имена "PRIMARY" будут унифицированы. В противном случае первичный
ключи, которые будут созданы снова в PostgreSQL, где имена индексов должны быть уникальными для каждого
схема.
· иностранный ключи
Когда эта опция указана, pgloader получает определения всех внешних ключей.
найдены в базе данных MySQL и создают тот же набор определений внешнего ключа для
база данных PostgreSQL.
· нет иностранный ключи
Когда указан этот параметр, pgloader пропускает создание внешних ключей.
· сброс последовательности
Когда этот параметр указан, в конце загрузки данных и после того, как индексы будут
все были созданы, pgloader сбрасывает все созданные последовательности PostgreSQL на текущие
максимальное значение столбца, к которому они прикреплены.
Варианты схема Важно и данным Важно не влияют на эту опцию.
· сброс нет последовательности
Когда этот параметр указан, pgloader пропускает последовательность сброса после загрузки.
Варианты схема Важно и данным Важно не влияют на эту опцию.
· вниз идентификаторы
Когда эта опция указана, pgloader преобразует все идентификаторы MySQL (имена таблиц,
имена индексов, имена столбцов) в вниз, кроме PostgreSQL зарезервированный ключевые слова.
PostgreSQL зарезервированный ключевые слова определяются динамически с помощью системы
функция pg_get_keywords ().
· цену идентификаторы
Когда эта опция указана, pgloader цитирует все идентификаторы MySQL, чтобы их случай
уважается. Обратите внимание, что затем вам нужно будет сделать то же самое в своем приложении.
кодовые запросы.
· схема Важно
Когда этот параметр указан в списке, pgloader воздерживается от переноса данных. Обратите внимание, что
схема в этом контексте включает индексы, когда опция Создайте Индексы и
был внесен в список.
· данным Важно
Когда этот параметр указан в списке, pgloader выдает только КОПИЯ заявления, не делая никаких
другая обработка.
· БРОСАТЬ
Предложение cast позволяет указать собственные правила приведения, либо перегрузить значение по умолчанию.
правила кастинга или дополнить их особыми случаями.
Ожидается, что правило приведения будет иметь одну из следующих форм:
тип [ ... ] к [ ...]
столбец . [ ] к ...
Возможно литье править для сопоставления с типом данных MySQL или с
данный обзор имя в данном (см. таблицу ниже) имя. Такая гибкость позволяет справляться со случаями, когда
типа TINYINT мог быть использован как логический в некоторых случаях, но как SMALLINT in
другие.
Команда литье условиями, применяются по порядку, первое совпадение препятствует выполнению следующих правил
применяются, и сначала оцениваются правила, определенные пользователем.
Поддерживаемые охранники:
· когда по умолчанию ценить
Правило приведения применяется только к столбцам MySQL исходного типа, которые имеют
данный ценностное , которая должна быть строкой в одинарных или двойных кавычках.
· когда типмод выражение
Правило приведения применяется только к столбцам MySQL исходного типа, которые имеют
типмод значение, соответствующее заданному типмод выражение, типмод разделен на
точность и лестница компоненты.
Пример правила приведения с использованием типмод сторожить:
введите char, когда (= точность 1), чтобы char сохранить typemod
Это выражение приводит MySQL колесница(1) столбец в столбец PostgreSQL типа колесница(1) в то время как
с учетом общего случая символ (N) будет преобразовано правилом приведения по умолчанию в
Тип PostgreSQL varchar (N).
· дополнительно автоматическое приращение
Правило приведения применяется только к столбцам MySQL, имеющим дополнительно обзор
автоматическое приращение набор опций, чтобы можно было настроить таргетинг, например последовательный , а не
целое.
Если этот параметр не установлен, по умолчанию выполняется сопоставление обоих столбцов.
с дополнительным определением и без.
Это означает, что если вы хотите реализовать правило приведения, нацеленное на последовательный or
целое от SMALLINT определение в зависимости от автоматическое приращение лишний бит
информации из MySQL, то вам необходимо сформулировать два следующих правила приведения:
введите smallint с дополнительным auto_increment
для последовательного сброса typemod оставьте значение по умолчанию не равным нулю,
введите smallint
to integer drop typemod сохранить значение по умолчанию не равно нулю
Поддерживаемые варианты трансляции:
· падение по умолчанию, держать по умолчанию
Когда вариант падение по умолчанию указан, pgloader удаляет все существующие выражения по умолчанию
в базе данных MySQL для столбцов исходного типа из СОЗДАТЬ ТАБЛИЦА заявление
он порождает.
Произношение держать по умолчанию явно предотвращает такое поведение и может использоваться для
перегрузить правила приведения по умолчанию.
· падение нуль, держать нуль
Когда вариант падение нуль указан, pgloader удаляет все существующие НЕ NULL,
ограничение, связанное с заданным исходным типом данных MySQL при создании таблиц
в базе данных PostgreSQL.
Произношение держать нуль явно предотвращает такое поведение и может использоваться для
перегрузить правила приведения по умолчанию.
· падение типмод, держать типмод
Когда вариант падение типмод указан, pgloader удаляет все существующие типмод определение
(например точность и лестница) из определения типа данных, найденного в столбцах MySQL файла
тип источника при создании таблиц в базе данных PostgreSQL.
Произношение держать типмод явно предотвращает такое поведение и может использоваться для
перегрузить правила приведения по умолчанию.
· через
Эта опция принимает в качестве единственного аргумента имя функции, которая должна быть найдена в
pgloader.transforms Пакет Common Lisp. Подробнее см. Выше.
Можно расширить правило каста по умолчанию (например, то, которое применяется к ПЕРЕЧИСЛЕНИЕ
тип данных, например) с преобразование функция полностью опуская напишите
части правила приведения, как в следующем примере:
столбец enumerate.foo с использованием пустой строки в нуль
· МАТЕРИАЛИЗАЦИЯ ПРОСМОТРЫ
Этот пункт позволяет реализовать пользовательскую обработку данных в источнике данных с помощью
предоставление view определение против которого pgloader будет запрашивать данные. Это не
можно просто учесть простой SQL потому что мы хотим много знать о точном
типы данных каждого столбца, участвующего в выводе запроса.
В этом предложении ожидается список определений представлений, разделенных запятыми, каждое из которых может быть
имя существующего представления в вашей базе данных или следующее выражение:
имя AS $$ SQL запрос $$
Команда имя и SQL запрос будет использоваться в СОЗДАТЬ СМОТРЕТЬ заявление в начале
загрузка данных, и результирующее представление будет удалено в конце данных
погрузка.
· МАТЕРИАЛИЗАЦИЯ BCE ПРОСМОТРЫ
Такое же поведение, как МАТЕРИАЛИЗАЦИЯ ПРОСМОТРЫ используя динамический список представлений, возвращенный
MySQL вместо того, чтобы просить пользователя указать список.
· ВКЛЮЧАЯ ТОЛЬКО ТАБЛИЦА ИМЕНА МАТЧИКИ
Введите список имен таблиц, разделенных запятыми, или регулярный выражение используется для ограничения
таблицы для переноса в подсписок.
Пример:
ВКЛЮЧАЯ ТОЛЬКО СООТВЕТСТВИЕ НАЗВАНИЙ ТАБЛИЦ ~ / фильм /, актер
· БЕЗ УЧЕТА ТАБЛИЦА ИМЕНА МАТЧИКИ
Введите список имен таблиц, разделенных запятыми, или регулярный выражение используется для исключения
имена таблиц из миграции. Этот фильтр применяется только к результату
ВКЛЮЧАЯ фильтр.
ИСКЛЮЧАЯ СООТВЕТСТВИЕ НАЗВАНИЙ ТАБЛИЦ ~
· ДЕКОДИРОВАНИЕ ТАБЛИЦА ИМЕНА МАТЧИКИ
Введите список имен таблиц, разделенных запятыми, или регулярный выражения используется для принуждения
кодировка, используемая при обработке данных из MySQL. Если известная вам кодировка данных
отличается от представления MySQL об этом, это вариант для использования.
РАСШИФРОВКА НАЗВАНИЙ СООТВЕТСТВИЯ ~ / беспорядок /, ~ / кодирование / Как utf8
Вы можете использовать столько правил, сколько вам нужно, возможно, с разными кодировками.
ОГРАНИЧЕНИЯ
Команда база данных команда в настоящее время поддерживает только исходную базу данных MySQL и имеет следующие
ограничения:
· Просмотры не переносятся,
Для поддержки представлений может потребоваться реализация полного анализатора SQL для диалекта MySQL.
с механизмом переноса для перезаписи SQL для PostgreSQL, включая переименование
функции и изменение некоторых конструкций.
Хотя это теоретически не невозможно, не задерживайте дыхание.
· Триггеры не переносятся
Сложность этого еще не оценена.
· ON ОБНОВЛЕНИЕ ПО CURRENT_TIMESTAMP в настоящее время не переносится
Реализовать его достаточно просто, но его еще нет в списке приоритетов.
· Из геометрических типов данных только ТОЧКА база данных покрыта. Другие
должно быть достаточно легко реализовать сейчас, но это еще не сделано.
DEFAULT MySQL ЛИТЬЕ ПРАВИЛА
При переходе с MySQL предоставляются следующие правила приведения:
Номера:
· Введите int с дополнительным auto_increment для серийного номера, когда (<точность 10)
· Введите int с дополнительным auto_increment для bigserial, когда (<= 10 точность)
· Введите int в int, когда (<точность 10)
· Введите int в bigint, когда (<= 10 точность)
· Введите tinyint с дополнительным auto_increment для серийного номера
· Введите smallint с дополнительным auto_increment для серийного номера
· Введите mediumint с дополнительным auto_increment до серийного номера
· Введите bigint с дополнительным auto_increment для bigserial
· Введите tinyint в логическое значение, когда (= 1 точность), используя tinyint-to-boolean
· Введите tinyint в smallint drop typemod
· Введите smallint в smallint drop typemod
· Введите mediumint в целое число drop typemod
· Введите целое число в целое число drop typemod
· Введите float в float drop typemod
· Введите bigint в bigint drop typemod
· Тип двойной для двойной точности drop typemod
· Введите числовой в числовой, сохраните typemod
· Введите десятичный в десятичный сохранить typemod
Тексты:
· Введите char для varchar, сохраните typemod
· Введите varchar в текст
· Введите крошечный текст в текст
· Ввод текста в текст
· Введите средний текст в текст
· Введите длинный текст в текст
Двоичный:
· Преобразовать двоичный код в байтовый
· Введите varbinary в bytea
· Введите tinyblob в bytea
· Введите blob в bytea
· Введите mediumblob в bytea
· Введите longblob в bytea
Дата:
· Введите datetime, если по умолчанию "0000-00-00 00:00:00", а не null для timestamptz drop not
null удалить значение по умолчанию с использованием нулевых дат до нуля
· Введите datetime по умолчанию "0000-00-00 00:00:00", чтобы timestamptz удалить значение по умолчанию, используя
нулевые даты до нуля
· Введите метку времени, если по умолчанию "0000-00-00 00:00:00", а не null, чтобы метка времени не отбрасывалась.
null удалить значение по умолчанию с использованием нулевых дат до нуля
· Введите временную метку по умолчанию «0000-00-00 00:00:00», чтобы временная метка оставила значение по умолчанию, используя
нулевые даты до нуля
· Введите дату, когда по умолчанию "0000-00-00", чтобы указать дату, отпустите значение по умолчанию, используя нулевые даты до нуля
· Введите дату на дату
· Введите datetime в timestamptz
· Введите метку времени в метку времени
· Введите год в целое число drop typemod
Геометрическая:
· Введите точку в точку с помощью pgloader.transforms :: convert-mysql-point
Типы перечислений объявляются встроенными в MySQL и отдельно с СОЗДАТЬ ТИП командовать в
PostgreSQL, поэтому каждый столбец Enum Type преобразуется в тип, названный в честь таблицы и
имена столбцов определены с одинаковыми метками в том же порядке.
Когда определение исходного типа не соответствует ни в правилах приведения по умолчанию, ни в
правила приведения, указанные в команде, затем используется имя типа с typemod.
НАГРУЗКИ SQLite DATABASE
Эта команда инструктирует pgloader загрузить данные из файла SQLite. Автоматическое обнаружение
схема поддерживается, включая построение индексов.
Вот пример:
загрузить базу данных
из sqlite: ///Users/dim/Downloads/lastfm_tags.db
в теги postgresql: ///
с включением удаления, создания таблиц, создания индексов, сброса последовательностей
установите work_mem на «16MB», maintenance_work_mem на «512 MB»;
Команда SQLite Команда принимает следующие пункты и параметры:
· от
Путь или URL-адрес HTTP к файлу SQLite, может быть .zip .
·
При загрузке из SQLite база данных, поддерживаются следующие параметры:
При загрузке из SQLite базы данных поддерживаются следующие параметры, а
по умолчанию статья: нет усекать, Создайте Эта таблица, включают падение, Создайте Индексы,
сброс последовательности, вниз идентификаторы, кодирование «утф-8».
· включают падение
Когда указан этот параметр, pgloader удаляет все таблицы в целевом PostgreSQL.
база данных, имена которых присутствуют в базе данных SQLite. Эта опция позволяет использовать
одну и ту же команду несколько раз подряд, пока вы не разберетесь со всеми вариантами, начиная
автоматически из чистой среды. Обратите внимание, что CASCADE используется для обеспечения
эти таблицы удаляются, даже если на них указывают внешние ключи. Это
именно то, что включают падение предназначен для: отбросить все целевые таблицы и воссоздать
их.
При использовании необходимо соблюдать особую осторожность. включают падение, поскольку он будет каскадно переходить в ВСЕ
объекты, ссылающиеся на целевые таблицы, возможно, включая другие таблицы, которые не
загружается из исходной БД.
· включают нет падение
Когда этот параметр указан, pgloader не будет включать никаких DROP выписка при загрузке
данные.
· усекать
Когда эта опция указана, pgloader выдает ОБРЕЗАТЬ команда против каждого
Таблица PostgreSQL непосредственно перед загрузкой в нее данных.
· нет усекать
Когда эта опция указана, pgloader не выдает ОБРЕЗАТЬ команда.
· запрещать триггеры
Когда эта опция указана, pgloader выдает ALTER ТАБЛИЦА ... DISABLE TRIGGER BCE
перед копированием данных для целевой таблицы PostgreSQL, затем команда
ALTER ТАБЛИЦА ... ВКЛЮЧИТЬ TRIGGER BCE однажды КОПИЯ готово.
Эта опция позволяет загружать данные в уже существующую таблицу, игнорируя иностранный ключ
ограничения и определяемые пользователем триггеры, что может привести к недействительным иностранный ключ
ограничения после загрузки данных. Используйте с осторожностью.
· Создайте Эта таблица
Когда этот параметр указан, pgloader создает таблицу, используя метаданные, найденные в
SQLite файл, который должен содержать список полей с их типом данных. Стандарт
преобразование типа данных из DBF в PostgreSQL выполнено.
· Создайте нет Эта таблица
Когда эта опция указана, pgloader пропускает создание таблицы перед загрузкой данных,
тогда целевые таблицы должны уже существовать.
· Создайте Индексы
Когда этот параметр указан, pgloader получает определения всех индексов, найденных в
базу данных SQLite и создайте такой же набор определений индексов для
База данных PostgreSQL.
· Создайте нет Индексы
Когда эта опция указана, pgloader пропускает создание индексов.
· сброс последовательности
Когда этот параметр указан, в конце загрузки данных и после того, как индексы будут
все были созданы, pgloader сбрасывает все созданные последовательности PostgreSQL на текущие
максимальное значение столбца, к которому они прикреплены.
· сброс нет последовательности
Когда этот параметр указан, pgloader пропускает последовательность сброса после загрузки.
Варианты схема Важно и данным Важно не влияют на эту опцию.
· схема Важно
Когда эта опция указана в списке, pgloader будет воздерживаться от переноса данных. Примечание
что схема в этом контексте включает индексы, когда опция Создайте Индексы
был внесен в список.
· данным Важно
Когда этот параметр указан в списке, pgloader выдает только КОПИЯ заявления, не делая никаких
другая обработка.
· кодирование
Эта опция позволяет контролировать, с какой кодировкой анализировать текстовые данные SQLite.
По умолчанию используется UTF-8.
· БРОСАТЬ
Предложение cast позволяет указать собственные правила приведения, либо перегрузить значение по умолчанию.
правила кастинга или дополнить их особыми случаями.
Пожалуйста, обратитесь к разделу MySQL CAST для получения подробной информации.
· ВКЛЮЧАЯ ТОЛЬКО ТАБЛИЦА ИМЕНА МАТЧИКИ
Введите список имен таблиц, разделенных запятыми, или регулярный выражение используется для ограничения
таблицы для переноса в подсписок.
Пример:
ВКЛЮЧАЯ ТОЛЬКО СООТВЕТСТВИЕ НАЗВАНИЙ ТАБЛИЦ ~ / фильм /, актер
· БЕЗ УЧЕТА ТАБЛИЦА ИМЕНА МАТЧИКИ
Введите список имен таблиц, разделенных запятыми, или регулярный выражение используется для исключения
имена таблиц из миграции. Этот фильтр применяется только к результату
ВКЛЮЧАЯ фильтр.
ИСКЛЮЧАЯ СООТВЕТСТВИЕ НАЗВАНИЙ ТАБЛИЦ ~
DEFAULT SQLite ЛИТЬЕ ПРАВИЛА
При миграции с SQLite предоставляются следующие правила приведения:
Номера:
· Введите smallint в smallint
· Введите целое число в bigint
· Введите float в float, используя float-to-string
· Введите реальное значение в реальное, используя преобразование типа float в строку
· Введите двойную точность в двойную, используя float-to-string
· Введите числовое значение в числовое, используя преобразование числа с плавающей точкой в строку
Тексты:
· Введите символ в текст, выпадающий typemod
· Введите varchar в текст drop typemod
· Введите nvarchar в текст drop typemod
· Введите символ в текст, перетащите typemod
· Введите nchar в текст drop typemod
· Введите nvarchar в текст drop typemod
· Введите clob для вывода текста typemod
Двоичный:
· Введите blob в bytea
Дата:
· Введите datetime to timestamptz, используя sqlite-timestamp-to-timestamp
· Введите timestamp to timestamptz, используя sqlite-timestamp-to-timestamp
· Введите timestamptz в timestamptz, используя sqlite-timestamp-to-timestamp
НАГРУЗКИ MS SQL DATABASE
Эта команда указывает pgloader загружать данные из базы данных MS SQL. Автоматическое обнаружение
схемы поддерживается, включая построение индексов, первичных и внешних ключей
ограничения.
Вот пример:
загрузить базу данных
из mssql: // пользователь @ хост / имя базы данных
в postgresql: /// dbname
включение в схему «dbo »только таких имен таблиц, как« GlobalAccount »
установите для параметра work_mem значение «16 МБ», для параметра maintenance_work_mem значение «512 МБ»
перед загрузкой выполните $$ drop schema, если существует каскад dbo; $$;
Команда MSSQL Команда принимает следующие пункты и параметры:
· от
Строка подключения к существующему серверу базы данных MS SQL, который прослушивает и приветствует
внешнее соединение TCP / IP. Поскольку pgloader в настоящее время использует драйвер FreeTDS, чтобы
измените порт сервера, пожалуйста, экспортируйте ТДСПОРТ переменная среды.
·
При загрузке из MS SQL базы данных, те же параметры, что и при загрузке MySQL база данных
поддерживаются. Пожалуйста, обратитесь к разделу MySQL. Добавлены следующие опции:
· Создайте схемы
Когда этот параметр указан, pgloader создает те же схемы, что и в MS SQL.
пример. Это значение по умолчанию.
· Создайте нет схемы
Когда эта опция указана, pgloader вообще воздерживается от создания каких-либо схем, вы
затем необходимо убедиться, что целевая схема действительно существует.
· БРОСАТЬ
Предложение cast позволяет указать собственные правила приведения, либо перегрузить значение по умолчанию.
правила кастинга или дополнить их особыми случаями.
Пожалуйста, обратитесь к разделу MySQL CAST для получения подробной информации.
· ВКЛЮЧАЯ ТОЛЬКО ТАБЛИЦА ИМЕНА LIKE ´ ... ´ [, ´ ... ´] IN СХЕМА ´ ... ´
Введите разделенный запятыми список шаблонов имен таблиц, используемых для ограничения таблиц
перейти в подсписок. Можно использовать более одного такого пункта, они будут накапливаться.
одновременно.
Пример:
включая только имена таблиц lile «GlobalAccount» в схему «dbo»
· БЕЗ УЧЕТА ТАБЛИЦА ИМЕНА LIKE ´ ... ´ [, ´ ... ´] IN СХЕМА ´ ... ´
Введите разделенный запятыми список шаблонов имен таблиц, используемых для исключения имен таблиц.
от миграции. Этот фильтр применяется только к результату ВКЛЮЧАЯ фильтр.
ИСКЛЮЧЕНИЕ НАЗВАНИЙ ТАБЛИЦ СООТВЕТСТВИЕ ´LocalAccount´ в схеме ´dbo´
DEFAULT MS SQL ЛИТЬЕ ПРАВИЛА
При переходе с MS SQL предусмотрены следующие правила приведения:
Номера:
· Введите smallint в smallint
· Введите float в float, используя float-to-string
· Введите реальное значение в реальное, используя преобразование типа float в строку
· Введите двойную точность в двойную, используя float-to-string
· Введите числовое значение в числовое, используя преобразование числа с плавающей точкой в строку
· Тип десятичного числа в числовое, используя float-to-string
· Преобразовать деньги в числа, используя преобразование числа с плавающей точкой в строку
· Введите smallmoney в число, используя float-to-string
Тексты:
· Введите символ в текст, перетащите typemod
· Введите nchat для вывода текста typemod
· Введите varchar в текст drop typemod
· Введите nvarchar в текст drop typemod
· Введите xml в текст drop typemod
Двоичный:
· Преобразовать двоичный код в байтовый, используя байтовый вектор в байтовый
· Введите varbinary в bytea, используя byte-vector-to-bytea
Дата:
· Введите datetime в timestamptz
· Введите datetime2 в timestamptz
Другое:
· Преобразовать бит в логическое
· Тип иерархии от байта
· Введите географию в байты
· Введите uniqueidentifier для uuid, используя sql-server-uniqueidentifier-to-uuid
ПРЕОБРАЗОВАНИЯ ФУНКЦИИ
Некоторые типы данных реализованы достаточно иначе, чем функция преобразования
это необходимо. Эта функция должна быть написана на Общий шепелявость и ищется в
pgloader.transforms пакет.
Некоторые функции преобразования по умолчанию предоставляются с pgloader, и вы можете использовать
--нагрузка параметр командной строки для загрузки и компиляции вашего собственного файла lisp в pgloader по адресу
время выполнения. Чтобы ваши функции были найдены, не забудьте начать свой файл lisp с
следующая форма:
(номер в пакете: pgloader.transforms)
Предоставляемые функции преобразования:
· нулевые даты до нуля
Когда в дате ввода все нули, верните ноль, который загружается как PostgreSQL NULL,
значения.
· дата без разделителя
Относится нулевые даты до нуля затем преобразуйте данную дату в формат, который PostgreSQL
на самом деле будет обрабатывать:
В: "20041002152952"
Out: "2004-10-02 15:29:52"
· время без разделителя
Преобразуйте заданное время в формат, который PostgreSQL действительно будет обрабатывать:
В: "08231560"
Выход: "08: 23: 15.60"
· крошечное-в-логическое
Поскольку в MySQL отсутствует правильный логический тип, TINYINT часто используется для реализации этого. Этот
функция трансформирует 0 в ложный и что-нибудь еще правда».
· преобразование битов в логическое
Поскольку в MySQL отсутствует правильный логический тип, BIT часто используется для реализации этого. Этот
функция преобразует 1-битовые векторы из 0 в f и любое другое значение для t..
· Int-to-IP
Преобразуйте целое число в точечное представление ip4.
В: 18435761
Выход: "1.25.78.177"
· ip-диапазон
Преобразует пару целых чисел, заданных в виде строк, в диапазон ip4.
В: "16825344" "16825599"
Вышло: "1.0.188.0-1.0.188.255"
· конвертировать-mysql-точка
Конвертирует из текст представление точек в MySQL в PostgreSQL
представление.
В: "ТОЧКА (48.5513589 7.6926827)"
Выход: "(48.5513589,7.6926827)"
· плавание к строке
Преобразует число с плавающей запятой Common Lisp в строку, подходящую для числа с плавающей запятой PostgreSQL:
В: 100.0d0
Выход: "100.0"
· набор-в-перечисление-массив
Преобразует строку, представляющую MySQL SET, в массив значений Enum PostgreSQL из
набор.
В: "foo, bar"
Выход: "{foo, bar}"
· пустая строка-к-нулю
Преобразуйте пустую строку в нуль.
· правый тримг
Удалите пробелы в конце строки.
· байтовый вектор в байтовый
Преобразование простого массива байтов без знака в шестнадцатеричный формат байта PostgreSQL
представление, как указано в
http://www.postgresql.org/docs/9.3/interactive/datatype-binary.html
· sqlite-timestamp-к-временной метке
Система типов SQLite довольно интересна, так что разберитесь с ней здесь, чтобы создать временную метку.
литералы, как и ожидалось в PostgreSQL. Это охватывает год только на 4-х значных цифрах, 0 дат до
null и правильные строки даты.
· sql-server-uniqueidentifier-to-uuid
Драйвер SQL Server получает данные fo типа uniqueidentifier как байтовый вектор, который мы
затем необходимо преобразовать в строку UUID для обработки формата ввода PostgreSQL COPY.
· Unix-timestamp-в-timestamptz
Преобразует временную метку unix (количество секунд, прошедших с начала 1970 г.) в
правильный формат метки времени PostgreSQL.
НАГРУЗКИ СООБЩЕНИЯ
Эта команда все еще экспериментальная и позволяет получать сообщения через UDP с помощью системного журнала.
подобный формату, и, в зависимости от соответствия правил, загружает именованные части потока данных в
таблица назначения.
ЗАГРУЗИТЬ СООБЩЕНИЯ
ИЗ системного журнала: // localhost: 10514 /
КОГДА СООТВЕТСТВУЕТ rsyslog-msg В apache
РЕГИСТРАЦИЯ метка времени, ip, отдых
В postgresql: // localhost / db? Logs.apache
УСТАНОВИТЬ guc_1 = «значение», guc_2 = «другое значение»
КОГДА СООТВЕТСТВУЕТ rsyslog-msg другим
РЕГИСТРАЦИЯ метки времени, имени приложения, данных
В postgresql: // localhost / db? Logs.others
УСТАНОВИТЬ guc_1 = «значение», guc_2 = «другое значение»
С apache = rsyslog
ДАННЫЕ = IP ОТДЫХ
IP = 1 * 3DIGIT "." 1 * 3D ЦИФРА "." 1 * 3D ЦИФРА "." 1 * 3D ЦИФРА
ОТДЫХ = ~ /.*/
С другими = rsyslog;
Поскольку команда все еще экспериментальная, в будущем ее параметры могут быть изменены, а
подробности не задокументированы.
Используйте pgloader онлайн с помощью сервисов onworks.net