Из MS SQL перекачать данные в PostgreSQL | |
---|---|
tata Автор Сообщений: 3381 Откуда: Казань Дата регистрации: 23.10.2005 |
[attachment 36406 perenos.prg]
Думаю, перед многими уже стояла такая задача или вскоре встанет. Передо мной встает в полный рост. Припоминаю, когда-то Володя Журавлев писал программу на фоксе для перекачки данных из DBF в MSSQL. Может, кто-то уже писал программу по перекачке данных из MSSQL в POSTGRESQL? Володину программку прилагаю на всякий случай. Исправлено 1 раз(а). Последнее : tata, 21.09.22 14:15 ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
PaulWist Сообщений: 14427 Дата регистрации: 01.04.2004 |
Вопрос в чём?
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
tata Автор Сообщений: 3381 Откуда: Казань Дата регистрации: 23.10.2005 |
В автоматизации процесса.
![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
PaulWist Сообщений: 14427 Дата регистрации: 01.04.2004 |
Есть 4 пути
1. Сделать линк от MSSQL в PG, и со стороны MSSQL загружать данные. 2. Сделать линк от PG в MSSQL, и со стороны PG загружать данные. 3. Использовать фокс, создать соединение с PG и MSSQL, забирать данные из MSSQL и класть в PG. 4. Использовать массовую загрузку из промежуточных файлов (фактически аналог 3). ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
tata Автор Сообщений: 3381 Откуда: Казань Дата регистрации: 23.10.2005 |
А поподробнее?
Что значит "сделать линк"? ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
sphinx Сообщений: 30456 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Гугли dblink, лучше читать в документации. И примеры там есть. Лучше п.2 - в какую систему надо, та пусть и выкачивает себе данные.
------------------ "Veni, vidi, vici!"(с) Исправлено 1 раз(а). Последнее : sphinx, 21.09.22 19:02 ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
Владимир Максимов Сообщений: 14040 Откуда: Москва Дата регистрации: 02.09.2000 |
В приложении Microsoft SQL Server Management Studio существует инструмент для загрузки данных в таблицы. Из любого источника, к которому можно подключиться по ADO
Необходимо выбрать нужную базу данных и по правой клавише меню выбрать пункт «Import Data». Там достаточно легко разобраться дальше ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
PaulWist Сообщений: 14427 Дата регистрации: 01.04.2004 |
Обращение к PG из MSSQL
1. Настройте драйверы ODBC для PostgreSQL guidesure.net. 2. Настройте связанный сервер между SQL Server и PostgreSQL с помощью драйверов ODBC guidesure.net 3. Далее используя OPENQUERY guidesure.net 4. Нюансы при миграции схемы в PostgreSql assets.ctfassets.net ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено 1 раз(а). Последнее : PaulWist, 22.09.22 08:41 ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
PaulWist Сообщений: 14427 Дата регистрации: 01.04.2004 |
Скрипт, табличка д.б. под 6Г (6 млн записей), делаться будет долго.
Минут 40 будет создаваться. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено 1 раз(а). Последнее : PaulWist, 22.09.22 21:15 ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
tata Автор Сообщений: 3381 Откуда: Казань Дата регистрации: 23.10.2005 |
6512704 - за пару минут локально. ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
tata Автор Сообщений: 3381 Откуда: Казань Дата регистрации: 23.10.2005 |
Так. Качаем не в MS SQL, а из него. В PostgreSQL есть импорт данных по правой кнопке, но только в формате csv. А я хочу из таблицы MS SQL качнуть в PG SQL. Эксперименты совместно с PaulWist привели к необходимости перекачивать данные кусочками. Хотелось бы найти способ качать большие таблицы полностью. ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
Владимир Максимов Сообщений: 14040 Откуда: Москва Дата регистрации: 02.09.2000 |
Там же, кроме пункта "Import Data" есть еще пункт "Export Data" ;) Суть та же самая. Это Wizard. Где по шагам последовательно указываешь откуда берешь данные, куда надо положить, и, если необходимо, простейшие преобразования типов. Собственно, это все то, что предлагает Паша. Только он предлагает это делать в "ручном" режиме, а это готовый инструмент. Правда, только для простых преобразований типов и данных. По сути, из таблицы в таблицу Но если внешняя база недоступна, то можно сделать выгрузку, например, в Excel ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
PaulWist Сообщений: 14427 Дата регистрации: 01.04.2004 |
Владимир.
Тут проблема в другом. Из MSSQL в PG линк создаётся, данные переносятся, проблема получается, когда надо передать табличку в 5-6Г, MSDTC (координатор распределённых транзакций) по тихому падает, более того он так же тихо останавливает службу сервера MSSQL. Найдено то кол-во записей/Мб/страниц данных при котором экспорт получается стабильным, НО это на стенде, что будет на проде - неизвестно, да и задача не одноразовая, должна работать по шедулеру. Проблема тянется уже лет 15. Пост c sql.ru от 2012г murcode.ru Вроде есть возможность используя openquery() обойти данную фичу murcode.ru , но пока эксперименты не привели к результату. "Курим" хелп/форумы дальше. ![]() ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено 1 раз(а). Последнее : PaulWist, 28.09.22 08:33 ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
Владимир Максимов Сообщений: 14040 Откуда: Москва Дата регистрации: 02.09.2000 |
Ну, в исходной постановке ничего такого не было. Просто просили инструмент. По постановке вопроса - именно под разовую загрузку "всего и сразу"
Если же задача сводится к синхронизации (репликации) баз данных, то, по-моему, на этот счет есть куча разных приемов. От "дилетантских" доп.полей с признаком изменения/архивирования, то "промышленных" триггеров на репликацию в MS SQL. Т.е. вполне себе стандартная задача. Изначально копируем все, что есть. А потом по шедулеру уже только изменения, которые накопились с последней загрузки. Вариантов реализации этой стратегии довольно много... И ограничение под 6ГБ уже не кажутся важными. "За раз" копируется существенно меньше данных. Ну, разве что, первоначальная загрузка. Но там можно отдельно это все сделать. Как ты в примере и предлагаешь, копировать кусками по N записей. И, кстати, инструменты MS SQL "Import Data" и "Export Data" вполне себе могут в качестве источника данных использовать запрос, а в целевой таблице делать обновление/замену. ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
PaulWist Сообщений: 14427 Дата регистрации: 01.04.2004 |
Да, забыл про такую фичу. Сегодня проверить не могу, "стенд" недоступен. Если Import/Export не упадёт, то пойдёт как рабочий инструмент.
Нее, в триггере MSSQL нельзя использовать разнородные источники данных. (может в 2017-19 изменилось)
Отличное предложение, сам использовал, ... склероз уже ![]() ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
tata Автор Сообщений: 3381 Откуда: Казань Дата регистрации: 23.10.2005 |
Мой коллега использует вот этот инструмент:
github.com Качает таблицы only. Связалась также с автором приведенной тут статьи Станиславом Флусовым. Он посоветовал инструмент aws scheme conversion tools, он умеет автоматически конвертить процедуры. AWS здоровенный, качался целый день. Еще не пробовала. Пишу для информации. ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
sphinx Сообщений: 30456 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Прошла неделя. Есть результаты? ------------------ "Veni, vidi, vici!"(с) ![]() |
Re: Из MS SQL перекачать данные в PostgreSQL | |
---|---|
tata Автор Сообщений: 3381 Откуда: Казань Дата регистрации: 23.10.2005 |
Что касается AWS, то у меня очень большие процедуры со сложной логикой, автоматически сконвертировать таких монстров не получится.
Мне начальник не разрешил на это даже время тратить. А вот этот инструмент работает, таблицы качает. sqlserver2pgsql Исправлено 1 раз(а). Последнее : tata, 24.10.22 14:04 ![]() |
© 2000-2023 Fox Club  |