Раздел [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.