Раздел [Postgre]
В этой статье описывается раздел [Postgre] файла sqlways.ini и содержащиеся в нем опции.
| Название опции | Описание |
|---|---|
| HOST | Этот параметр задает имя хоста, с которого будет выполняться импорт. |
| DATABASE | Этот параметр задает имя базы данных, в которую будет производиться импорт. |
| USER | Эта опция задает учетную запись пользователя, которая будет использоваться для подключения к базе данных PostgreSQL. |
| PWD | Эта опция задает пароль, который будет использоваться вместе с учетной записью пользователя для подключения к базе данных PostgreSQL. |
| PORT | Эта опция задает номер порта, который будет использоваться для подключения к базе данных PostgreSQL. |
| TARGET_VERSION | Этот параметр задает номер версии базы данных, в которую будет производиться импорт. |
| BIN | Этот параметр задает каталог, в котором находится утилита PSQL.exe. |
| USE_EXPLICIT_CURSORS | Эта опция определяет способ преобразования курсоров в базу данных PostgreSQL. Если для этой опции установлено значение «Yes», будет использоваться явное объявление курсора. Если установлено значение «No», будет использоваться неявное объявление курсора. Возможные значения: «Yes», «No». |
| REPLACE_NULL_BYTE_WITH | В PostgreSQL не разрешается вставлять нулевой байт в столбец с типом данных, отличным от BYTEA. Поэтому эта опция контролирует, как должен быть изменен нулевой байт для корректного импорта. Если тип данных вставляемого столбца BYTEA, эта опция не будет работать в этом случае. |
| SET_SEARCH_PATH_TO | Эта опция добавит оператор «SET search_path TO» в каждый sql-файл, созданный Конвертум Мастером. Чтобы использовать эту опцию, вам нужно просто указать имя схемы, которое будет использоваться в операторе «SET search_path TO». По умолчанию эта опция пуста. |
| DATA_LOAD_FORMAT | Этот параметр определяет формат, в котором данные из базы данных SQL Server будут извлекаться и загружаться в базу данных PostgreSQL. Возможные значения: «HEX» и «OCT». |
| DOLLAR_QUOTED_PGSQL_MASK | Эта опция управляет котировкой доллара в pgsql. Указанное здесь значение будет использоваться вместо «$$» в Pl/PgSQL, которое установлено по умолчанию. |
| MULTIPLE_OUT_REFCURSOR_PARAM | Эта опция управляет преобразованием множественных параметров OUT REFCURSOR из Oracle в PostgreSQL. Если эта опция установлена в «Yes», параметры OUT REFCURSOR будут преобразованы в параметры OUT REFCURSOR в PostgreSQL. Если «No», то процедура Oracle с параметрами OUT REFCURSOR будет преобразована в функцию, возвращающую setof рефкурсоров.
Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «Yes». |
| AUTOUPDATE_TIMESTAMP_COLUMN | Этот параметр управляет способом преобразования столбца TIMESTAMP из Sybase ASE в базу данных PostgreSQL. Если для этой опции установлено значение «Yes», то в PostgreSQL будут сгенерированы 2 триггера, которые будут обновлять информацию в столбце. Если этот параметр установлен в значение «No», то это будет обычный столбец типа данных BYTEA. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. |
| USE_TABLE_FUNCTIONS | Этот параметр определяет, как процедуры Sybase ASE, возвращающие наборы результатов, будут преобразованы в PostgreSQL. Если для этой опции установлено значение «Yes», то процедуры будут преобразованы в табличные функции. Если установлено значение «No», то такие процедуры будут преобразованы в функции, возвращающие наборы результатов определенного типа данных. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. |
| VIRT_COL_SAVE_TBL_NAME | Эта опция работает только для таблиц Oracle с виртуальными столбцами, которые должны быть преобразованы в PostgreSQL. Она управляет именованием сгенерированных таблиц и представлений в PostgreSQL. Если эта опция установлена в «Yes», то сгенерированные таблицы будут иметь те же имена, что и в базе данных Oracle, а Конвертум Мастер добавит суффикс «_VW» к сгенерированным представлениям. Если эта опция установлена в значение «No», то к именам преобразованных таблиц будет добавлен суффикс «_TBL», а сгенерированные представления будут иметь те же имена, что и таблицы Oracle с виртуальными колонками. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. |
| ROWNUM_TO_GENERATE_SERIES | Эта опция управляет тем, как функция Oracle Rownum будет преобразована в базу данных PostgreSQL. Если для этой опции установлено значение «Yes», то она будет преобразована в GENERATE_SERIES. Если эта опция установлена в значение «No», то функция Oracle Rownum будет преобразована в ROW_NUMBER() с предложением OVER в PostgreSQL. Возможные значения: «Yes», Пусто или «No». Значение по умолчанию: «Yes» или Пусто. |
| CAST_PARAMETERS_IN_CALL | Этот параметр определяет, следует ли приводить параметры в операциях стандартных вызовов к соответствующим типам данных в соответствии с сигнатурой вызовов. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. |
| PARTITION_ENABLE | Эта опция доступна для PostgreSQL версии 10 и выше и управляет тем, следует ли переносить разделы таблиц или нет. Чтобы разрешить преобразование табличных разделов, установите для этого параметра значение «Yes». Если преобразование табличных разделов не требуется, следует установить значение «No». Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «Yes» или Пусто. |
| TABLES_WITH_OIDS | Этот параметр определяет, будут ли таблицы создаваться с OID. Столбец OID - это системный столбец, создаваемый для каждой таблицы. Он содержит уникальный идентификатор строки данных в базе данных и может использоваться как уникальный указатель на конкретную запись в базе данных. По умолчанию для этой опции установлено значение «No». Это означает, что все операторы CREATE TABLE будут создаваться с опцией WITH OIDS. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No». |
| TABLESPACE | С помощью этой опции вы можете указать имя табличного пространства, которое будет использоваться в операторах CREATE TABLE в PostgreSQL. Значение по умолчанию: Пусто. |
| INDEX_TABLESPACE | С помощью этой опции вы можете указать имя табличного пространства, которое будет использоваться в операторах CREATE INDEX в PostgreSQL. Значение по умолчанию: Пусто. |
| USE_SOURCE_TABLESPACE_NAMES | Этот параметр определяет, будут ли использоваться исходные имена табличных пространств в преобразованных определениях объектов. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. |
| DATA_MIGRATOR_BIN_DIRECTORY | Эта опция позволяет указать путь к папке, содержащей инструмент ISOFDM.exe. Обычно указывать путь не требуется, так как Конвертум Мастер автоматически ищет каталог BIN. Если текстовое поле пустое, то сначала будет произведен поиск в переменной PATH, а затем в реестре. Если путь к ISOFDM.exe не будет найден, путь не будет добавлен в команду, и система может выдать ошибку при выполнении команды. Значение по умолчанию: Пусто. |
| RAISERROR_TO_SWP | Эта опция определяет способ преобразования утверждений RAISERROR при миграции из Sybase ASA в PostgreSQL. Если эта опция установлена в значение «Yes», то утверждения RAISERROR будут преобразованы в процедуры SWP_RAISERROR, определенные пользователем в PostgreSQL. Если этот параметр установлен в значение «No», то он будет преобразован в утверждения RAISE EXCEPTION. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. ПРИМЕЧАНИЕ: Процедура, определенная SWP_RAISERROR, будет сгенерирована Конвертум Мастером автоматически. |
| USE_SSL | Эта опция определяет, будет ли использоваться SSL для подключения к целевой базе данных. Если эта опция установлена в значение «Yes», то инструмент создаст командную строку, которая будет использовать информацию из опций SSL (SSL_MODE, CLIENT_CERTIFICATE, CLIENT_KEY, ROOT_CERTIFICATE) для подключения к целевой базе данных с помощью SSL-соединения. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. |
| SSL_MODE | Этот параметр определяет режим SSL-соединения с целевой базой данных. Этот параметр учитывается только в том случае, если для параметра USE_SSL установлено значение «Yes». Возможные значения: allow, disable, prefer, requirer, verify-ca, verify-full. |
| CLIENT_CERTIFICATE | Этот параметр определяет путь к SSL-сертификату клиента. Этот параметр учитывается только в том случае, если для параметра USE_SSL установлено значение «Yes». |
| CLIENT_KEY | Этот параметр определяет путь к SSL-ключу клиента. Этот параметр учитывается только в том случае, если для параметра USE_SSL установлено значение «Yes». |
| ROOT_CERTIFICATE | Этот параметр определяет путь к корневому сертификату. Этот параметр учитывается только в том случае, если для параметра USE_SSL установлено значение «Yes». |
| RETURN_RESULT_FROM_SP_AND_FN | Эта опция определяет тип возвращаемого параметра функций и процедур. По умолчанию табличные функции будут преобразованы в функцию с RETURN TABLE. Другие функции и процедуры будут преобразованы в функции с SETOF. Если инструмент преобразования не смог определить типы данных для набора результатов, то в качестве возвращаемого результата будет использоваться REFCURSOR. Если этот параметр установлен в значение «Table», «Setof» или «Refcursor», то возвращаемый тип будет Table, Setof или Refcursor соответственно. Возможные значения: «Table», «Setof», «REFCURSOR» и Пусто. Значение по умолчанию: Table. Пример использования |
| CONVERT_TBL_PAR | Этот параметр определяет, как параметры типа таблицы будут преобразованы в PostgreSQL. Если эта опция пуста, то параметры типа таблицы будут преобразованы в параметр VARCHAR, который будет хранить имя таблицы. Имя таблицы будет использоваться вместо параметра и внутри тела. Если эта опция установлена в JSON или JSONB, то параметры типа таблицы будут преобразованы в тип данных JSON\JSONB. Функции, работающие с JSON\JSONB, будут использоваться и внутри объекта. Эта опция работает только для направления Microsoft SQL Server - PostgreSQL. Возможные значения: «JSON», «JSONB», Пусто. Значение по умолчанию: Пусто. |
| SELECT_WITHOUT_FROM_TO_RAISE_NOTICE | Эта опция определяет, как преобразовывать операторы SELECT без предложения FROM. Если эта опция установлена в значение «Yes», то операторы SELECT без FROM будут преобразованы в RAISE NOTICE в PostgreSQL. Если установлено значение «No», то они будут преобразованы как есть. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. |
| USER_TYPE_TO_BASE_TYPE | Эта опция определяет, как преобразовывать типы, определенные пользователем. Если для этой опции установлено значение «Yes», то типы, определенные пользователем, будут преобразованы в базовые типы данных. Если установлено значение «No», то определенные пользователем типы будут оставлены как есть. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. |
| RETURN_WITH_SEL_TO_RASIE_NOTICE | Эта опция определяет преобразование объектов, возвращающих как набор результатов из запроса SELECT, так и оператор RETURN. Если в PostgreSQL эта опция установлена в значение «Yes», то будет сгенерирован объект, возвращающий набор результатов запроса, а оператор RETURN будет преобразован в RAISE NOTICE. Если эта опция установлена в значение «No» или пуста, то параметр, возвращающий значение из оператора RETURN, будет добавлен в OUT. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. |
| IDENTITY_OPTIONS | Этот параметр определяет преобразование опций Identity при миграции с Sybase ASE на PostgreSQL. Если для этой опции установлено значение Remove, то опции идентификации START и INCREMENT будут опущены в целевой системе. Если параметр имеет значение «Empty» или «All», то будет использовано преобразование по умолчанию, и все параметры будут сохранены. Возможные значения: «Remove», «All» или Пусто. Значение по умолчанию: «All» или Пусто. |
| TABLE_TYPE_CONVERSION | Эта опция управляет тем, как типы данных таблиц Oracle, такие как TYPE IS TABLE, VARRAY, будут преобразованы в PostgreSQL. Если опция установлена в значение «Array», то вместо типов будут использоваться массивы, и типы не будут создаваться в PostgreSQL.
Если опция имеет значение «Tables», то будут использоваться временные таблицы. Возможные значения: «Arrays», «Tables» или Пусто. Значение по умолчанию: «Arrays» или Пусто. Пример использования |
| IDENTITY_TO_SERIAL | Эта опция контролирует способ преобразования столбца со свойством IDENTITY. Если опция установлена в значение «No» или Пусто, свойство IDENTITY будет перемещено для PostgreSQL. Если опция имеет значение «Yes», то свойство IDENTITY, указанное для столбца, будет преобразовано как SERIAL для PostgreSQL. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. Пример использования |
| IDENTITY_COLUMN_TYPE | Эта опция изменяет определение столбца IDENTITY. Если параметр установлен в значение «Always» или оставлен пустым, он будет генерироваться как GENERATED ALWAYS AS IDENTITY. В противном случае он будет сгенерирован как GENERATED BY DEFAULT AS IDENTITY. Возможные значения: «Default», «Always» или Пусто. Значение по умолчанию: «Always» или Пусто. Пример использования |
| TRIGGER_RECURSION_LVL | Эта опция добавляет проверку уровня вложенности триггеров для триггеров с рекурсией. По умолчанию опция пуста, и проверка не добавляется. Если опция имеет значение n, где n - целое число, то перед вызовом функции триггера будет добавлен оператор WHEN (pg_trigger_depth() < n+1)Эта проверка позволит триггерной функции быть выполненной n раз. Возможные значения: любое целое положительное значение. Пример использования |
| AUTONOMOUS_TRANSACTION_TO_DBLINK | Этот параметр определяет, как преобразовывать процедуры и функции с AUTONOMOUS TRANSACTION в базу данных PostgreSQL. Если для этой опции установлено значение «Yes», то эти процедуры будут преобразованы в рекурсивные процедуры с dblink для удаленной базы данных. Будет сгенерирован дополнительный скрипт, в котором для текущего пользователя будут созданы FOREIGN SERVER и USER MAPPING. Этот скрипт должен быть выполнен от имени суперпользователя. Возможные значения: «Yes», «No». Значение по умолчанию: «No». Пример использования |
| SECURITY_DEFINER | Эта опция позволяет преобразовать выражения PostgreSQL в SECURITY DEFINER. Обратите внимание, что если в исходном коде упоминаются какие-либо операторы управления транзакциями, они будут закомментированы, поскольку в таких функциях/процедурах они недопустимы. Возможные значения: «Yes», «No» или Пусто. Значение по умолчанию: «No» или Пусто. Пример использования |
| TRIG_PROC_SCHEMA_PREFIX | Эти опции позволяют добавить префикс к именам схем, в которых будут создаваться триггерные функции. Новая схема будет создана автоматически. Это может быть полезно, если необходимо отделить их от пользовательских функций. Пример использования |
| TRIG_PROC_SCHEMA_SUFFIX | Эти опции позволяют добавить суффикс к именам схем, в которых будут создаваться триггерные функции. Новая схема будет создана автоматически. Это может быть полезно, если необходимо отделить их от пользовательских функций. Пример использования |
| CONV_ALL_PROC_TO_FUNC | Эта опция управляет тем, как хранимые процедуры преобразуются из Microsoft SQL Server в базу данных PostgreSQL. Если параметр имеет значение «Yes», то все хранимые процедуры будут преобразованы в функции в PostgreSQL. Возможные значения: «Yes», «No» или пустое. Значение по умолчанию: «No» или пустое. Пример использования |
| CASE_INSENS_DATA | Эта опция управляет тем, как будет обойдена проблема с данными, нечувствительными к регистру. Если для параметра COLLATION задано значение, то при преобразовании будет создана детерминированный и недетерминированный collation. Если используется параметр LOWER, все сравнения (кроме ILIKE) должны оборачиваться в функцию LOWER(). Если используется значение CITEXT, все типы данных VARCHAR должны быть преобразованы в CITEXT. Возможные значения - «Default», «Collation», «Lower», «Сitext». Значение по умолчанию - «Default». «Lower», «Сitext» - не реализованы. Пример использования |
| RESOLVE_PARAMETER_NAME_AMBIGUITY | Опция работает для Informix в качестве исходной базы данных. Если для опции установлено значение «Yes» и в операторе select используется имя без псевдонима, к нему будет добавлено имя текущего объекта. В противном случае имя останется без изменений. Возможные значения - «Yes», «No», пустое. Значение по умолчанию - «No» или пустое. Пример использования |
| USE_CUSTOM_CAST_DATE_INT | Опция работает для Informix в качестве исходной базы данных. Если для опции установлено значение «Yes», будет создан набор пользовательских CAST для преобразования данных из типа date в целочисленные типы и обратно. В этом случае нет необходимости выполнять дополнительные преобразования. Возможные значения - «Yes», «No», пустое. Значение по умолчанию - «No» или пустое. Пример использования |
| ANSINULL | Эта опция определяет поведение для обработки значений NULL в пользовательских функциях в процессе преобразования. В частности, опция ANSINULL гарантирует, что любая функция или процедура с обработкой NULL будет вести себя так же, как в Sybase ASE при переносе в PostgreSQL. Эта опция помогает поддерживать согласованное поведение для значений NULL, избегая несоответствий, которые могут возникнуть из-за различий в том, как каждая система баз данных обрабатывает сравнение и обработку NULL. Возможные значения - «ON», «OFF». Значение по умолчанию - «ON». Пример использования |
| FUNC_MAX_ARGS | Эта опция определяет максимальное количество аргументов, которое может иметь функция, чтобы избежать создания дополнительного типа в процессе преобразования. Если количество параметров, принимаемых функцией или процедурой, превышает указанное в опции значение, будет создан дополнительный тип для размещения всех параметров функции или процедуры. Возможные значения - любое число. Значение по умолчанию - 100. Пример использования |
| COMMENT_TRANSACTION | Этот параметр управляет преобразованием транзакций. Если для этого параметра установлено значение «Yes», все транзакции будут закомментированы.
Если для этого параметра установлено значение «No», все транзакции комментироваться не будут. Если для этой опции установлено значение «Default», все транзакции преобразуются в соответствии с правилами, реализованными в инструменте Конвертум. Возможные значения - «Yes», «No», «Default» или пустое. Значение по умолчанию - пустое. |
| RECURSIVE_TRIGGERS_ENABLED | Параметр RECURSIVE_TRIGGERS_ENABLED определяет, как конвртируются рекурсивные триггеры. Она контролирует, будут ли триггеры вызывать сами себя и вызывать цепочку вызовов триггеров (т. е. рекурсию). Если установлено значение «Yes», рекурсия будет происходить; если установлено значение «No», триггеры с прямой рекурсией будут вызываться один раз. Работает только для конвертации из MS SQL Server. Возможные значения - «Yes» / «No». Значение по умолчанию - «No». Пример использования |
| PACKAGE_VAR_CONVERSION | Эта опция позволяет вам выбрать, как будет выполняться преобразование с использованием метода. По умолчанию (т.е. без указания параметров) преобразование будет происходить путем создания временной таблицы для хранения образцов типов внутри функции инициализации. При использовании опции pg_variables преобразование будет происходить посредством создания функций с использованием функций модуля pg_variables (для этого этот модуль должен быть установлен на целевой объект). При выборе параметра session_config_params будут использоваться параметры конфигурации сеанса. Возможные значения - пусто, pg_variables, session_config_params. Значение по умолчанию - пусто. Пример использования |
| AUTO_FUNCTION_VOLATILITY | Для infromix в качестве источника. Если для параметра установлено значение "Да", то для результирующей функции, если это возможно, устанавливается категория изменчивости - IMMUTABLE или STABLE. Возможные значения - «Yes», «No» или пустое Значение по умолчанию - «No» или пустое. Пример использования |
| EXPLICIT_COLUMN_OWNERSHIP | Если для этого параметра установлено значение «Yes»”, то если имя столбца используется в SQL-запросе без явного указания к какой таблице или представлению оно относится, то оно будет определено и добавлено автоматически. Возможные значения - «Yes», «No» или пустое Значение по умолчанию - «No» или пустое. Пример использования |
| ANALYZE_TEMP_STATS | Этот параметр определяет, следует ли автоматически добавлять команду ANALYZE после операций с временными таблицами. В частности, он применяется в двух случаях: (1) непосредственно после создания индексов во временной таблице и (2) после выполнения операций ВСТАВКИ во временную таблицу. Возможные значения - «Yes», «No» или пустое. Значение по умолчанию - «No» или пустое. Пример использования |
Пример:
[Postgre]
HOST=hostname
DATABASE=test
USER=postgres
USE_EXPLICIT_CURSORS=Yes
SET_SEARCH_PATH_TO=schema_name
Если у вас возникли вопросы о поддерживаемых опциях и функциях, обратитесь к нашим техническим специалистам: support@convertum.ru.