powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы [новые:1] / PostgreSQL [закрыт для гостей] / Кто чем делает миграцию данных из MSSQL в Postres?, Поиск: Искать сообщения, созданные автором: anonymous  
16 сообщений из 16, страница 1 из 1
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337681
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
тебе просто данные перенести из таблиц или ты хочешь всю базу мигрировать?
...
Рейтинг: 0 / 0
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337699
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
из платных могу посоветовать EMS Data Pump for PostgreSQL, если интересно могу рассказать, там есть свои + и -

бесплатно, то базу можно мигрировать используя комбинацию tds_fdw + sqlserver2pgsql

для начала
sudo yum install tds_fdw_14

CREATE EXTENSION tds_fdw;

CREATE SERVER mssql FOREIGN DATA WRAPPER tds_fdw OPTIONS (servername 'mssql', database ‘database', msg_handler 'notice');

CREATE USER MAPPING FOR postgres SERVER mssql OPTIONS (username ‘user', password 'password');

CREATE DATABASE new_db;
CREATE SCHEMA new_schema;

IMPORT FOREIGN SCHEMA dbo FROM SERVER mssql INTO new_schema OPTIONS (import_default 'true');

экспортируем структуру БД MSSQL через генерацию скрипта
даем пожевать ее perl sqlserver2pgsql.pl -f tables.sql -b tables-before.sql -a tables-after.sql -u tables-unsure.sql

на выходе получаем скрипты для постгри
tables-before.sql – файл создания таблиц
tables-after.sql – файл установки ограничений
tables-unsure.sql – файл значений по умолчанию

далее хуячим курсором
DO $$
DECLARE
rec RECORD;
cur CURSOR FOR
SELECT foreign_table_name FROM information_schema.foreign_tables;
BEGIN
OPEN cur;
LOOP
FETCH cur INTO rec;
EXIT WHEN NOT FOUND;
EXECUTE ('insert into public.'||lower(rec.foreign_table_name)||' select * from '||'public."'||rec.foreign_table_name||'"'||';');
END LOOP;
CLOSE cur;
END $$;

на тестовом стенде проверял 300 гигов льет часа за 3 на сервере типа 4 ядра и 15 гигов ОЗУ
...
Рейтинг: 2 / 0
Нравится: megabyte, Дед-Папыхтет
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337705
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
p.s. это касаемо данных
индексы, вторичные ключи, ограничения - там уже своя ебля
...
Рейтинг: 0 / 0
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337707
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
Дед-Папыхтет  29.03.2023, 15:10
[игнорируется]
anonymous  29.03.2023, 14:59
[игнорируется]
тебе просто данные перенести из таблиц или ты хочешь всю базу мигрировать?
Пока 8 справочников, но в последствии и другие таблицы - думаю подобные задачи будут перманентно возникать. Цель уйти от мсскл на микросервисную архитектуру. в общем частями
тогда юзай внешние таблицы, по мне так тебе оптимально будет
...
Рейтинг: 0 / 0
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337717
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
а, забыл уточнить
EMS Data Pump for PostgreSQL есть демо режим 30 дней, только он переносит 10% от данных в этом режиме
...
Рейтинг: 0 / 0
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337722
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
Дед-Папыхтет  29.03.2023, 15:16
[игнорируется]
anonymous  29.03.2023, 15:10
[игнорируется]
Дед-Папыхтет  29.03.2023, 15:10
[игнорируется]
anonymous  29.03.2023, 14:59
[игнорируется]
тебе просто данные перенести из таблиц или ты хочешь всю базу мигрировать?
Пока 8 справочников, но в последствии и другие таблицы - думаю подобные задачи будут перманентно возникать. Цель уйти от мсскл на микросервисную архитектуру. в общем частями
тогда юзай внешние таблицы, по мне так тебе оптимально будет
Пока проблема в чем в банке бюрократия и безопасность блюдёт что бы неразрешенные технологии использовались.
1. несогласованный софт - типа пентахо или платная информатика - согласование через 7 кругов ада может длится полгода выступить на куче встреч и куче разных уровней начальникам доказать необходимость использования этого, далее проверка безов что это безопасно и банк не рискует ))))
2. уже безы запретили выгружать файлы и загружать - типа с мсскл в цсв выгрузить и в постгрес загрузить, всей истории не знаю да и насрать честно говоря, но что бы такое протолкнуть куча нервов своих, твоих руководителей и т.п. безопасники упёртые что пиздец.
3. дблинк или же линкед сервер по той же самой причине запретили.

Выход, или что то свое писать на джава, скрипт баш павершел или что уже куплено и разрешено использовать. Ну раз мсскл у нас куплен, хоть мы и отказываемся, с мсскл идет ссис - вот им пока и пользуюсь. хотя... когда не будет мсскл не будет ссис и я бы наверное перелез сразу на пентаху... но пентаха пока не разрешена ))))))))))))))))) и не согласована
мда, ну тогда остается написать скрипт, который откроет 2 соединение, в одном будет делать select, в другом insert, построчно или через некую виртуальную таблицу, но это будет пиздец как долго
все остальное - либо файлы, либо прямой линк
...
Рейтинг: 0 / 0
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337724
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
Дед-Папыхтет  29.03.2023, 15:18
[игнорируется]
Хотя вот... чобы не сделать экспорт импорт в цсв или хмл?... вроде самое простое...
да и дблинк тоже прост, но видимо эксперты сказали что это не безопасно и всё - пиздарики
в чем небезопасность db линка? по ssl соединитесь и гоните прямым потоком
дайте пользователю права в MSSQL только на select из базы, а на постгре, только insert
...
Рейтинг: 0 / 0
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337730
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
Дед-Папыхтет  29.03.2023, 15:23
[игнорируется]
anonymous  29.03.2023, 15:20
[игнорируется]
Дед-Папыхтет  29.03.2023, 15:18
[игнорируется]
Хотя вот... чобы не сделать экспорт импорт в цсв или хмл?... вроде самое простое...
да и дблинк тоже прост, но видимо эксперты сказали что это не безопасно и всё - пиздарики
в чем небезопасность db линка? по ssl соединитесь и гоните прямым потоком
дайте пользователю права в MSSQL только на select из базы, а на постгре, только insert
Да!

Но... когда то видимо давным давно что бе не ебаца с правами давали учетки сервиса права сисадмина, щас в банке дают права владельца бд на БД, ладно хоть не на сервер. И видимо такие права и не безопасны ))))
Я просто предполагаю, что руководящие лица принимающие решения не знают что можно права давать на отдельно взятые таблицы, может даже и знают, но не хотят связываться - сказано так делать - так и делаем.
кстати SSIS он же тоже грузит либо через файлы, либо через линк Оо
...
Рейтинг: 0 / 0
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337736
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
Дед-Папыхтет  29.03.2023, 15:25
[игнорируется]
на эту тему вспомнился мем:
В конторе прорвало канализацию. Срочно собрали членов правления АО. Типа оперативный штаб. После проверки все ли собрались, председательствующий спросил: а в чём причина аварии - мы мало проводим совещаний или они неэффективны?
ну очень похоже на совещания когда начальники отделов-департаментов собираются
я ща такой же еблей занимаюсь, у меня наверно 30% рабочего времени - совещания, где гоняют из пустого в порожнее и никто не хочет брать ответственность
при этом дошло до смешного, принимать решение не хотят, поэтому у меня нет работы, но с меня же требуют отчета о проделанной работе, в итоге сижу рисую хуи [:biggrin2]
...
Рейтинг: 1 / 0
Нравится: Дед-Папыхтет
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337745
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
Горбатый ёж  29.03.2023, 15:37
[игнорируется]
Дед-Папыхтет  29.03.2023, 14:22
[игнорируется]
миграция с мсскл - ссис у нас уже есть
Вопрос как связываться с получателем.
По моему опыту всякие ODBC, особенно некоммерческие, могут имет ограничения на предмет записи данных в удалённый приёмник, а вот с чтением как правило проблем очень мало. Так что если льёшь в посгрес, то и использовать надо средства посгреса.
ИМХО.
ну можно всякие екстеншены поискать для постгри или написать скрипт на нем, он же поддерживает Java, Perl, Python, Ruby, Tcl, C/C++
...
Рейтинг: 1 / 0
Нравится: megabyte
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337755
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
Горбатый ёж  29.03.2023, 15:46
[игнорируется]
anonymous  29.03.2023, 15:40
[игнорируется]
ну можно всякие екстеншены поискать для постгри
Если безопасность разрешит экстеншены, то у меня плохие новости про этих безопасников :D
ну тогда все ручками, чо
иначе все скрипты и опен софт запрещены)
...
Рейтинг: 0 / 0
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337815
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
Кусь  29.03.2023, 17:25
[игнорируется]
А если посадить безопасников переносить данные руками из одной базы в другую? Уверен, это будет самый безопасный вариант. И чем больше привлеч безопасников, тем выше производительность такого решения.
это самый действенный и быстрый способ получить добро от безопасников [:grin]
...
Рейтинг: 2 / 0
Нравится: Гарыныч, Кусь
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337911
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
Дед-Папыхтет  29.03.2023, 18:22
[игнорируется]
Красивенько получилось ))))
етл.JPG
и чем это отличается от прямого линка? - ничем))
...
Рейтинг: 0 / 0
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337936
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
Дед-Папыхтет  29.03.2023, 21:05
[игнорируется]
anonymous  29.03.2023, 20:58
[игнорируется]
Дед-Папыхтет  29.03.2023, 18:22
[игнорируется]
Красивенько получилось ))))
етл.JPG
и чем это отличается от прямого линка? - ничем))
нуууу это не прямой линк это как приложение тащит с источника и хуячит в приемник, если требуется преобразования делает...
у всяких подобных ЕТЛ программ есть неоспоримые преимущества.

1. визуальность мышкатыкание - для многих это минус, меня раздражало сильно писать не код а хуярить всё мышкой, но аналитикам такая визуальность по душе сильно.
2. очень легко параллелить процессы - прямоугольник куда не заходит стрелка независим от других подобных. Стрелка обозначает - порядок выполнения. Часто когда нужно загрузить несколько таблиц - их в таком пакете стартуешь не по порядку а одновременно. Ну на мой взгляд здесь проще, нежели в джаве городит потомки тредов и всяко извращаться.
3. быстрота переливки больших объемов - bulk insert поддержка - пакетная переливка.

Вообще SSIS, Pentahoo, Informatika примерно одна хуйня и назначение - переливка данных из источников в приемники... ну как бы специализированное средство...

Не факт что безопасники такое пропустят, если не пропустят ну перепишу скриптом...
в любом случае эта борода устанавливает 2 коннекта и гонит данные через некий "буфер", что проигрывает булку или прямому переносу
я ей пользовался, но удобно, когда надо либо быстро что-то набросать, либо создать некую схему порядков выполнения, условий и прочего
в постгрессе аналог булк инсерта есть при заливки из файлов, остальное обычный инсерт (сам не проверял, но на курсах так объясняли)
если же нужно лить большие таблицы на постоянной основе без каких-то изъебов я бы выбрал прямой линк или файлы csv

написанный скрипт в целом будет делать тоже самое
...
Изменено: 29.03.2023, 22:00 - anonymous
Рейтинг: 0 / 0
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337938
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
sergey11  29.03.2023, 21:44
[игнорируется]
Дед-Папыхтет  29.03.2023, 21:05
[игнорируется]
anonymous [игнорируется] 

нуууу это не прямой линк это как приложение тащит с источника и хуячит в приемник, если требуется преобразования делает...
у всяких подобных ЕТЛ программ есть неоспоримые преимущества.

1. визуальность мышкатыкание - для многих это минус, меня раздражало сильно писать не код а хуярить всё мышкой, но аналитикам такая визуальность по душе сильно.
2. очень легко параллелить процессы - прямоугольник куда не заходит стрелка независим от других подобных. Стрелка обозначает - порядок выполнения. Часто когда нужно загрузить несколько таблиц - их в таком пакете стартуешь не по порядку а одновременно. Ну на мой взгляд здесь проще, нежели в джаве городит потомки тредов и всяко извращаться.
3. быстрота переливки больших объемов - bulk insert поддержка - пакетная переливка.

Вообще SSIS, Pentahoo, Informatika примерно одна хуйня и назначение - переливка данных из источников в приемники... ну как бы специализированное средство...

Не факт что безопасники такое пропустят, если не пропустят ну перепишу скриптом...
А что может смущать безопасников?
любовь к коням
...
Рейтинг: 1 / 0
Нравится: Дед-Папыхтет
PostgreSQL / Кто чем делает миграцию данных из MSSQL в Postres?
    #337977
anonymous
Скрыть профиль Поместить в игнор-лист
Участник
Кусь  29.03.2023, 23:40
[игнорируется]
тоже любили коней?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы [новые:1] / PostgreSQL [закрыт для гостей] / Кто чем делает миграцию данных из MSSQL в Postres?, Поиск: Искать сообщения, созданные автором: anonymous  
Читали тему (1): Анонимы (1)
Игнорируют тему (1): erbol
Читали форум (4): Анонимы (1), Bing Bot 1 мин., Yandex Bot 2 мин., Google Bot 4 мин.
Пользователи онлайн (41): Анонимы (19), битый, sergey11, Yandex Bot, pashtetos1, Просто Трёп, Google Bot, serg_tmb 1 мин., CerebroSQL 1 мин., Ветер 1 мин., Bing Bot 1 мин., unique 2 мин., 9288 3 мин., S Baltiki 3 мин., anonymous 4 мин., prostozevs 4 мин., Antonariy 4 мин., паразит 7 мин., IT-Клоп 7 мин., Green 7 мин., Килобайт 8 мин., Брюквенные годы 9 мин., Biene Maja 9 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]