Size: a a a

pgsql – PostgreSQL

2020 June 08

s

sexst in pgsql – PostgreSQL
Михаил Шурутов
Главное (по крайней мере тогда, когда я интересовался этим вопросом), винда - поточная система, т.е. threads и вот это вот всё. С межпроцессными же средствами у неё все грустно, начиная с времени и стоимости форка и заканчивая проблемами с использованием общей памяти. А постгрес - процессник, т.е. на каждое клиентское подключение создаётся отдельный дочерний процесс, со всеми вытекающими. Поэтому на одном и том же железе ПГ на винде будет люто тормозить по сравнению с линухом.
Так нужно сразу втыкать перед постгресом connection pooler, это в принципе полезно, даже с точки зрения времени "открытия соединения" клиентским приложением. Тогда вас проблема создания процесса на каждое соединение в общем-то беспокоить не будет.
источник

D

Dmitry in pgsql – PostgreSQL
4g
Доброго дня. У меня вопрос не холивора ради.
Лично я больше склоняюсь к тому чтобы держать postgresql на linuxовой машине.
Коллеги же напротив не стремятся к такому - у кого-то давний отрицательный опыт, кто-то не сталкивался вообще.
Есть ли принципиальные отличия и что можно недополучить если держать postgres на windows, а не на linux.
Планируемая связка java+springboot+hibernate+(postgresql10/mysql/oracle).
Или может стоит почитать что-то по этому вопросу, буду благодарен за ссылки.
так а всё же какой БД планируете пользоваться. Для oracle ЕМНИП пофиг, для мускула тоже (почему тогда не maria хотя бы...), для PGSQL вариант не сильно хороший. Но есть те же докеры.
Чисто для разработки - пойдет. Держать боевое решение - не стал бы.
Есть вариант - отказаться от PGSQL и либо потратиться (MS SQL, Oracle), либо заюзать БД с другим подходом (Mongo, Arango, Rethink).
источник

D

Dmitry in pgsql – PostgreSQL
Ну и если программист не может в linux... то я бы советовал сменить программиста
источник

2_

2flower _ in pgsql – PostgreSQL
Dmitry
Ну и если программист не может в linux... то я бы советовал сменить программиста
а как программист pg вообще отличит linux/win там же все прозрачно для него?
источник

A

Alexander in pgsql – PostgreSQL
2flower _
а как программист pg вообще отличит linux/win там же все прозрачно для него?
никак, но программиста лучше сменить :))
источник

s

sexst in pgsql – PostgreSQL
Dmitry
так а всё же какой БД планируете пользоваться. Для oracle ЕМНИП пофиг, для мускула тоже (почему тогда не maria хотя бы...), для PGSQL вариант не сильно хороший. Но есть те же докеры.
Чисто для разработки - пойдет. Держать боевое решение - не стал бы.
Есть вариант - отказаться от PGSQL и либо потратиться (MS SQL, Oracle), либо заюзать БД с другим подходом (Mongo, Arango, Rethink).
Да какбе вообще любая серьезная СУБД под WIndows работает в среднем "хуже". Раньше, в первые времена внедрения поддержки Linux, MS SQL был исключением. Теперь, вроде бы, уже и он по крайней мере не хуже.
источник

D

Dmitry in pgsql – PostgreSQL
2flower _
а как программист pg вообще отличит linux/win там же все прозрачно для него?
Троллинг не зачитан). Как минимум по процессам легко (адресация, используемые функции уровня ОС), нужные для компиляции либы, упомянутые нюансы с работой (просадки той же производительности в ряде случаев). API работы, конечно, отличаться не будет. Но вот многие драйвера/библиотеки могут не взлететь вот так прост для win в стеках (скажем, ну вот взяли вы ORM которая юзает какой-нибудь libev для реализации асинхронщины - руками собирать, а это квест не плохой такой).
источник

D

Dmitry in pgsql – PostgreSQL
Alexander
никак, но программиста лучше сменить :))
Я бы советовал с предметной областью хоть чуть-чуть познакомиться.
источник

D

Dmitry in pgsql – PostgreSQL
sexst
Да какбе вообще любая серьезная СУБД под WIndows работает в среднем "хуже". Раньше, в первые времена внедрения поддержки Linux, MS SQL был исключением. Теперь, вроде бы, уже и он по крайней мере не хуже.
Ну да, согласен. Windows не слишком хорошее решение для сервера не на стеке MS. Скорее это исключение. Ну или неосиляторам linux хочется странного)
источник

2_

2flower _ in pgsql – PostgreSQL
Dmitry
Троллинг не зачитан). Как минимум по процессам легко (адресация, используемые функции уровня ОС), нужные для компиляции либы, упомянутые нюансы с работой (просадки той же производительности в ряде случаев). API работы, конечно, отличаться не будет. Но вот многие драйвера/библиотеки могут не взлететь вот так прост для win в стеках (скажем, ну вот взяли вы ORM которая юзает какой-нибудь libev для реализации асинхронщины - руками собирать, а это квест не плохой такой).
какой троллинг? я говорил про sql разработчика, orm вот это все-это прикладник, совсем другой зверь.
и да я также как и вы считаю, что слон должен пастись в свободной саванне *nix.
источник

A

Alexander in pgsql – PostgreSQL
Dmitry
Я бы советовал с предметной областью хоть чуть-чуть познакомиться.
не буду называть себя прогером, так скрипто-кодер на перле, если прогер не знает llinux -- то по каким-то причинам его кругозор ограничен, я не говорю, что он долен кодить из под linux, но  что такое linux и с чем его едят прогер знать обязан, иначе это недопрогер....
источник

D

Dmitry in pgsql – PostgreSQL
2flower _
какой троллинг? я говорил про sql разработчика, orm вот это все-это прикладник, совсем другой зверь.
и да я также как и вы считаю, что слон должен пастись в свободной саванне *nix.
Для SQL разработчика и работа под windows/linux по сути не важна, если СУБД можно запустить или на сабже, или в контейнере/любимой ВМ.
Но, хорошая команда разработки должна стремиться к окружению близкому к "бою". Иначе может получиться "ой". Абстрагирование участников разработки от таких вопросов - плохо может сказаться на конечном общем результате (а ведь по нему и будут судить в целом о команде).
По сути SQL разработчика может устроить и удалённый сервер =).
Да, слон лучше всего чувствует на *nix. Рад, что вы согласны)
источник

2_

2flower _ in pgsql – PostgreSQL
Dmitry
Для SQL разработчика и работа под windows/linux по сути не важна, если СУБД можно запустить или на сабже, или в контейнере/любимой ВМ.
Но, хорошая команда разработки должна стремиться к окружению близкому к "бою". Иначе может получиться "ой". Абстрагирование участников разработки от таких вопросов - плохо может сказаться на конечном общем результате (а ведь по нему и будут судить в целом о команде).
По сути SQL разработчика может устроить и удалённый сервер =).
Да, слон лучше всего чувствует на *nix. Рад, что вы согласны)
>Для SQL разработчика и работа под windows/linux по сути не важна, если СУБД можно запустить или на сабже, или в контейнере/любимой ВМ.

это ровно то,что я вам написал с самого начала, не знаю что вас так задело.
источник

D

Dmitry in pgsql – PostgreSQL
Alexander
не буду называть себя прогером, так скрипто-кодер на перле, если прогер не знает llinux -- то по каким-то причинам его кругозор ограничен, я не говорю, что он долен кодить из под linux, но  что такое linux и с чем его едят прогер знать обязан, иначе это недопрогер....
Ну есть ряд случаев, когда не должен. Скажем под всякие микроконтроллеры, QNX, декстоп-онли (для того же win или закрытые для оборонки). Не правильно вас понял. Наши мнения совпадают)
источник

D

Dmitry in pgsql – PostgreSQL
2flower _
>Для SQL разработчика и работа под windows/linux по сути не важна, если СУБД можно запустить или на сабже, или в контейнере/любимой ВМ.

это ровно то,что я вам написал с самого начала, не знаю что вас так задело.
Ну я имел ввиду, что хороший программист должен работать на том стеке, который близок к серверу конечному. Если команда выбирает СУБД по принципу "я знаю, что в win с ней проблемы" - будет очень печальный результат вероятнее всего.
источник

D

Dmitry in pgsql – PostgreSQL
Должно быть недопонял вас, возможно
источник

4

4g in pgsql – PostgreSQL
Dmitry
так а всё же какой БД планируете пользоваться. Для oracle ЕМНИП пофиг, для мускула тоже (почему тогда не maria хотя бы...), для PGSQL вариант не сильно хороший. Но есть те же докеры.
Чисто для разработки - пойдет. Держать боевое решение - не стал бы.
Есть вариант - отказаться от PGSQL и либо потратиться (MS SQL, Oracle), либо заюзать БД с другим подходом (Mongo, Arango, Rethink).
речь о том что у клиентов могут быть варианты (т.е. если у клиента стоит oracle будет использоваться oracle, если нет, то скорее всего Postgres)
mysql скорее до кучи, но насколько мне известно mariadb форк mysql. тут скорее момент опять зависящий от клиентских условий. На мой взгляд конечно отличия вполне могут быть  между mysql и mariadb, но уж покрайней мере в процессе разработки с большой вероятность будут юзать mariadb.
источник

4

4g in pgsql – PostgreSQL
Dmitry
Ну и если программист не может в linux... то я бы советовал сменить программиста
😀👍🏻
источник

DK

Den KP in pgsql – PostgreSQL
Кому нужно, напишите в личку, скину примерный план по организации oracle_fdw для докера
источник

4

4g in pgsql – PostgreSQL
2flower _
какой троллинг? я говорил про sql разработчика, orm вот это все-это прикладник, совсем другой зверь.
и да я также как и вы считаю, что слон должен пастись в свободной саванне *nix.
🤣👍🏻👍🏻👍🏻
записал в мемориз!
источник