Spec-Zone.ru › MariaDB

Миграция с PostgreSQL на MariaDB

Существует множество способов миграции с PostgreSQL на MariaDB. В этой статье будут рассмотрены некоторые из этих вариантов.

Двигатель CONNECT в MariaDB

Двигатель CONNECT MariaDB можно использовать для миграции с PostgreSQL на MariaDB. Существует два основных способа.

См. Загрузка двигателя CONNECT для получения информации о том, как установить двигатель CONNECT.

Таблицы с типом таблицы ODBC

Двигатель CONNECT позволяет создавать таблицы, которые ссылаются на таблицы на внешнем сервере, и он может извлекать данные с помощью совместимого драйвера ODBC. PostgreSQL имеет свободно доступный драйвер ODBC, который называется psqlODBC. Следовательно, если вы установите psqlODBC на сервере MariaDB, а затем настройте фреймворк ODBC системы (например, unixODBC), то сервер MariaDB сможет подключиться к удаленному серверу PostgreSQL. В этот момент вы можете создать таблицы с опциями таблицы ENGINE=CONNECT и table_type=ODBC, чтобы получить доступ к таблицам PostgreSQL из MariaDB.

См. Тип таблицы CONNECT ODBC: доступ к таблицам из другой СУБД для получения более подробной информации.

После настройки удаленной таблицы вы можете очень просто перенести данные в локальные таблицы. Например:

CREATE TABLE psql_tab (
   id int,
   str varchar(50)
) ENGINE = CONNECT
table_type=ODBC
tabname='tab'
connection='DSN=psql_server';

CREATE TABLE tab (
   id int,
   str varchar(50)
) ENGINE = InnoDB;

INSERT INTO tab SELECT * FROM psql_tab;

Таблицы с типом таблицы JDBC

Двигатель CONNECT позволяет создавать таблицы, которые ссылаются на таблицы на внешнем сервере, и он может извлекать данные с помощью совместимого драйвера JDBC. PostgreSQL имеет свободно доступный JDBC-драйвер. Если вы установите этот JDBC-драйвер на сервере MariaDB, то сервер MariaDB сможет подключиться к удаленному серверу PostgreSQL через JDBC. В этот момент вы можете создать таблицы с опциями таблицы ENGINE=CONNECT и table_type=JDBC, чтобы получить доступ к таблицам PostgreSQL из MariaDB.

См. Тип таблицы CONNECT JDBC: Доступ к таблицам из другой СУБД для получения более подробной информации.

После настройки удаленной таблицы вы можете очень просто перенести данные в локальные таблицы. Например:

CREATE TABLE psql_tab (
   id int,
   str varchar(50)
) ENGINE = CONNECT
table_type=JDBC
tabname='tab'
connection='jdbc:postgresql://psql_server/db1';

CREATE TABLE tab (
   id int,
   str varchar(50)
) ENGINE = InnoDB;

INSERT INTO tab SELECT * FROM psql_tab;

Вспомогательные компоненты внешних данных PostgreSQL

Также для миграции с PostgreSQL на MariaDB можно использовать вспомогательные компоненты внешних данных PostgreSQL.

mysql_fdw

mysql_fdw позволяет создавать таблицу в PostgreSQL, которая фактически ссылается на удаленный сервер MySQL или MariaDB. Поскольку MySQL и MariaDB совместимы на уровне протокола, это также должно поддерживать MariaDB.

Вспомогательный компонент внешних данных также поддерживает записи, поэтому вы должны иметь возможность записывать в удаленную таблицу MariaDB для миграции данных PostgreSQL. Например:

CREATE TABLE tab (
   id int,
   str text
);

INSERT INTO tab VALUES (1, 'str1');

CREATE SERVER mariadb_server
   FOREIGN DATA WRAPPER mysql_fdw
   OPTIONS (host '10.1.1.101', port '3306');

CREATE USER MAPPING FOR postgres
   SERVER mariadb_server
   OPTIONS (username 'foo', password 'bar');

CREATE FOREIGN TABLE mariadb_tab (
   id int,
   str text
)
SERVER mariadb_server
OPTIONS (dbname 'db1', table_name 'tab');

INSERT INTO mariadb_tab SELECT * FROM tab;

Команда COPY TO PostgreSQL

Команда COPY TO PostgreSQL позволяет скопировать данные из таблицы PostgreSQL в текстовый файл. Эти данные затем можно загрузить в MariaDB с помощью LOAD DATA INFILE.

MySQL Workbench

MySQL Workbench имеет функцию миграции, которая требует драйвер ODBC. PostgreSQL имеет свободно доступный драйвер ODBC под названием psqlODBC.

См. Настройка и настройка драйверов PostgreSQL ODBC для мастера миграции MySQL Workbench для получения дополнительной информации.

Известные проблемы

Миграция функций и процедур

Функции и процедуры PostgreSQL с помощью языка PL/pgSQL, который отличается от языка по умолчанию SQL/PSM для хранимых процедур MariaDB. PL/pgSQL более похож на PL/PSQL из Oracle, поэтому вы можете найти полезным попробовать миграцию с установленным параметром SQL_MODE=ORACLE.

См. также

  • Настройка и настройка драйверов PostgreSQL ODBC для мастера миграции MySQL Workbench
Содержимое, воспроизводимое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проходит предварительную проверку MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают мнения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/migrating-to-mariadb-from-postgresql/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API