:: Не фоксом единым
Переход с MS SQL на PostgreSQL
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Кто нибудь делал такое?
Появилась просьба от клиента.
Хочет нашу систему, но просит на Postgre.
Для дальнейшего разговора, хочется понять велика ли разница.
Очевидно, что структуру данных, перенести не сложно.
А вот функции и ХП, наверное в основном придется переписывать.


------------------
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Да, насколько я понимаю даже с более близкого идеологически oracle весьма прилично переделок будет (даже если найти инструмент автоматизированного перевода синтаксиса встроенных языков). Это даже не приближаясь к вопросам оптимизации, т.е. получения эффективно работающего решения - хотя бы получить просто работающее


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Да. Пощупал немного. Ооочень удивился.
Не хочу.
Отказал, предложил експресс.
Там работы по переводу, больше чем денег.


------------------
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Аспид
Там работы по переводу, больше чем денег.
Это да, для "широко" использующих возможности СУБД программ смена СУБД - большая попаболь. Даже порой просто переход на новую версию стоит немалой крови.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Гулин Федор

Сообщений: 4633
Откуда: Минск
Дата регистрации: 24.10.2002
Аспид
Да. Пощупал немного. Ооочень удивился.
Не хочу.
Отказал, предложил експресс.
Там работы по переводу, больше чем денег.
+1
я за постргрес не скажу - народ хошрош отзывался

но сам щас чуть на mysql пишу
блин коге где плююсь - правда на 5.6 не после. версии но все равно
переписать чего-то с скл-сервера я б не взялся
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
С MySql работал.
С FireBird Немного.
Да что только не щупал)
Как-то постгрес... не доводилось.
Поставил, начал искать средства управления.
Читать.
Ясно, надо глубоко и всерьез влезать.
не знаю почему, но конструкция
select smalname from custom
не заработала.
Вынудила написать
select smalname from "custom"
Это убило на повал.
Решил, не тратить время. Наскоком не взять, а глубоко - смысла нет.
Кстати с Мускулом все гораздо проще. Если убрать с сервера логику, то практически все запросы работают.

Ну и в дополнение. А убер в июле 2016 свалил постгреса на мускул.
Вот так вот)))
Пишут, постгрес после этого сильно подтянулся)))


------------------
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
ou

Сообщений: 118
Дата регистрации: 07.08.2007
Аспид
А вот функции и ХП, наверное в основном придется переписывать.
Придется.
Работаю и с тем, и с другим из фокса. И то, и другое не вызывает раздражения.
Переводить систему с одного на другое не приходилось, так что конкретных советов, увы, не дам.
В Постгре очень нравятся функции (там нет деления на функции и ХП - так что это то и другое в одном флаконе). Очень гибкие и очень богатый набор включен в сам Постгре - MS SQL, на мой взгляд, в этом сильно проигрывает.
Но однозначно переход - огромная работа.
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Аспид
не знаю почему, но конструкция
select smalname from custom
не заработала.
Вынудила написать
select smalname from "custom"
Это убило на повал.

Это очень странно. Не путаешь ли ты чего? постгрес регистрочувствителен в части имён объектов (таблиц, полей) и если имя задано в смешанном регистре, или в ВЕРХНЕМ, то вынудит такой идентификатор квотировать - НО custom это имя полностью в нижнем регистре, и не является зарезервированным словом, потому в квотировании не нуждается... Я полагаю что ты всё же путаешь что-то и на самом деле у тебя таблица называлась "Custom" или "CUSTOM" - такие идентификаторы действительно нужно заключать в кавычки (но лучше попросту не использовать).
Оракл в этом отношении очень похож, только там неквотированные идентификаторы приводятся к верхнему регистру.
Чтобы не создалось неправильного впечатления - писать идентификатор в тексте запроса можно как угодно - custom, Custom, CUSTOM или даже CuStOm - только надо понимать что без кавычек все эти имена на самом деле являются именем custom (а в оракле CUSTOM). И только закавычив мы "сохраняем регистр" - но тогда уж, извини, придётся всюду и всегда это имя кавычить и писать его (регистры отдельных букв) абсолютно точно как и в момент создания

Аспид
Кстати с Мускулом все гораздо проще. Если убрать с сервера логику, то практически все запросы работают.
Честно говоря не работал, но чем то он мне не нравится... Даже если не считать отсутствие серверного процедурного языка (нынче мода пошла не пользоваться этими средствами - весь код выносить в MiddleTier, а БД чисто как хранилище данных)...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
ВладимирС

Сообщений: 1693
Дата регистрации: 03.11.2005
Да и на PostgreSQL нет (не увидел) процедур, одни функции... Хотя может это и по идеологии нормально. Но пока непривычно.
Хотя импорт (из внешних файлов в таблицу) делает очень шустро.
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
ВладимирС
Да и на PostgreSQL нет (не увидел) процедур, одни функции...
Какой ужас! А если бы ты в Си заглянул или тот же C# то, наверное, вообще потерял веру в человечество
RETURNS void в постресе эффективно превращает "функцию" в "процедуру".
Кстати, как ты в фоксе то жил раньше, там ведь PROCEDURE может делать RETURN что_то и вызываться как переменная=процедура(1,2,3) , а FUNCTION напротив - НЕ возвращать ничего, и при этом вызываться через DO функция WITH 1,2,3 А на уровне объектного кода между ними (декларацией процедуры и декларацией функции) вообще нет никакой разницы.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Конечно, функции, ХП это мура.
Остановило другое.
1. На сразу бросилось в глаза, какие то мало внятные (для меня) инструменты.
Как то для МС что визуал студия, что мэнеджемент, внятны и ясны.
Даже сторонний dbForge, все равно сразу ясен.
Тут ясно, дело привычки. И не понимание особенностей.
И 2. Чуть углубившись, ясно, что иногда обращаешься к схеме.
И тут она своя.
В общем предстоит несколько углубляться в изучение...

Очевидно, что тот кто работает с данной СУБД, все это знает, и привык, и нет проблем.
Проблемы у них возникнут, про инверсии задачи)))
В общем ради разовой хотелки, и то, не твердого требования, а просто "не плохо бы" - не стоит)

Igor Korolyov
Я полагаю что ты всё же путаешь что-то и на самом деле у тебя таблица называлась "Custom"
Именно так) Не ожидал что это зарезервированное слово)))
И обращался как Custom, но пока не взял в кавычки, не работало.
Неудачный случайный эксперимент.
Надо было задать какой нибудь Adres or Good.


------------------
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Аспид
Igor Korolyov
Я полагаю что ты всё же путаешь что-то и на самом деле у тебя таблица называлась "Custom"
Именно так) Не ожидал что это зарезервированное слово)))
И обращался как Custom, но пока не взял в кавычки, не работало.
Это НЕ зарезервированное слово. Просто когда ты создавал таблицу (вероятно при помощи какого-то GUI инструмента) то реально была послана команда
create table "Custom" ...
И раз идентификатор был взят в кавычки, сервер решил - значит автор хочет регистрочувствительный идентификатор - и так это и записал у себя. И теперь при ЛЮБОМ обращении к этой таблице её имя надо брать в кавычки.
Если бы ты писал скрипт создания руками, или твой визуальный инструмент не кавычил имя, то независимо от того как ты написал:
create table Custom ...
create table custom ...
create table CUSTOM ...
Сервер бы перевёл автоматом имя в нижний регистр, и при остальных обращениях не требовал кавычек - т.е. можно было бы далее писать select * from custom - с любым регистровым вариантом написанием имени таблицы - лишь бы БЕЗ кавычек
Оракл работает сходным образом, и лично я всегда выступал категорически против регистрочувствительных имён (т.е. закавыченных) - ну заодно и против русскоязычных идентификаторов (там всё ещё хуже будет у "русофила").


------------------
WBR, Igor
Ratings: 0 negative/1 positive
Re: Переход с MS SQL на PostgreSQL
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Аспид
Тут ясно, дело привычки.
Именно так - лично у меня, привыкшего к одной определённой утилите работы с сервером, отторжение вызывает практически любая другая утилита - несмотря на то что сервер тот же самый
Так что я не согласен с тем что тут дело в сервере - тут дело именно в подходе к UI в утилите. Если он "привычен", то переход (ну в плане чисто примитивной работы - посмотреть/создать/заполнить таблицу, выполнить запрос) на другой сервер будет гораздо проще и приятнее.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Про custom наконец-то дошло)))

Про UI изначально было ясно.
Тем более EMS использовал.
Поскольку использовали его и для своих нужд, но он и раньше не нравился.

Но стало ясно, что либо углубляться в изучение, и приводить все специфичное для МС, на пост (что может оказаться даже не верным)...
В общем, пока сделаешь зрелый продукт, пара лет канет.
Просто нет смысла.

(полно клиентов сидят на експрессе, и не жалуются)

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


------------------




Исправлено 1 раз(а). Последнее : Аспид, 23.02.18 17:52
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
pasha_usue

Сообщений: 3647
Откуда: Е-бург
Дата регистрации: 06.10.2006
Аспид
Если б различия были на копейку.
Ну нет автоинкремента, элементарно обходится, но... такой спотыкач на каждом шагу
На самом деле, если бы у меня стояла задача нарисовать нечто одинаково хорошо себя чувствующее в Postgre и MsSQL с нуля, здесь вопросов бы не возникало.

А вот перетащить одно на другое я бы решился только с Ms на Pg, но не обратно. В Pg проще переопределить типы данных, агрегаты и встроенные функции, так что б хоть немного трудозатраты минимизировать.
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Автоинкремент a-la MSSQL там есть, если что. При том в новой 10 версии его ещё и "улучшили", сделав ещё более мягким по отношению к пользователю (т.к. он по сути является "синтаксическим сахаром" над обычным sequence и default value для поля, у "старой" реализации были кой какие косяки - не в обычной работе, а в "управлении" этим хозяйством).


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
Как думаете, возможно ли автоматизировать трансляцию исходника с одного ЯП на другой?
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
spinz
Как думаете, возможно ли автоматизировать трансляцию исходника с одного ЯП на другой?
www.tangiblesoftwaresolutions.com
www.microsoft.com
На сколько я в курсе - гадость редкостная (кроме перевода VB.NET<->С# т.к. там по сути один язык с разным синтаксисом ). Про автопереводчики с FPD на VFP я уж скромно промолчу...

Качественно такого рода трансляцию даже человек не всегда может сделать, ИИ пока не дорос до "понимания смысла" кода, а значит не может эффективно изложить произвольный алгоритм "в других терминах". Хотя кое что, наверное, в теории может быть транслировано - через тот же UML как промежуточное звено.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
С другой стороны тот же HexRays (привет Ильфаку) достаточно качественно переводит машкоды в С. По аналогии - что мешает скомпилить исходник и "развернуть" его в другой ЯП?
За качество говорить не будем, важен сам принцип.
Ratings: 0 negative/0 positive
Re: Переход с MS SQL на PostgreSQL
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
spinz
За качество говорить не будем
Вот это и мешает - практическая бесполезность "генератора туфты".
Для родственных (идеологически) языков ещё как-то работает, для далёких - глупость и вредность одна выходит.
Ведь что нужно для качественного портирования? Сохранение принципа, идеи продукта, так сказать, а вовсе не "деталей реализации". Ну там был массив, тут будет список, или "курсор". Там был цикл, тут будет запрос... До такого уровня "проникновения в абстракцию" ни один транслятор пока не поднялся. А "буквальный" перевод не просто плох - он отвратителен (тут даже личный опыт имеется - видел я как на дотнет "переводили" VB6 проект - это "обнять и плакать").


------------------
WBR, Igor
Ratings: 0 negative/1 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 12 PaulWist  (Гостей: 11)

© 2000-2024 Fox Club 
Яндекс.Метрика