@pgsql

Страница 1000 из 1062
sergio
25.09.2018
15:03:41
Подробное описание вакансии Бэкенд-разработчик Мы занимаемся продажей и обслуживанием собственного продукта - небольшая специализированная ERP-система. Наши клиенты - торговые компании. Система работает только через браузер. Ядро системы написано на Java + Postgresql Нужен человек, который сможет выполнять адаптацию системы под новых клиентов, а также поддержку существующих клиентов. Адаптация системы под новых клиентов состоит из следующих блоков: - Доработка интерфейса и юзабилити Сюда не входит дизайн и верстка - для этого у нас есть дизайнер и фронтэнд-разработчик - Разработка нового функционала - Разработка расчетных блоков - Разработка специализированных отчетов Так как все эти задачи возникают под каждого нового клиента, архитектура системы выстроена таким способом, чтобы можно было выполнять эти задачи, не затрагивая основное ядро системы. Это делает систему гибкой, но все задачи необходимо выполнять в рамках существующей архитектуры. В работе придется иметь много дела с: - шаблонами на базе шаблонизатора Velocity с использованием ряда собственных объектов с готовой функциональностью - писать разные сложные запросы на SQL для базы Postgresql, а также хранимые процедуры на PL/pgSQL - писать скрипты на собственной интерпретации JavaScript для работы с базой данных Postgresql На старте работы основная сложность заключается в отсутствии подробной документации по архитектуре проекта. Придется много разбираться и задавать много вопросов. Есть много готовых примеров, как выполнять любую из задач. Для успешной работы необходимо: - хорошее понимание WEB-технологий, а частности протокола HTTP (практика показывает, что много разработчиков, работающих с этими технологиями, не понимают, как все это устроено) - хорошее знание баз данных, и очень желательно опыт работы с Postgresql - быстрая обучаемость и желание обучаться Работать нужно в московском офисе , проезд , жилье за счет компании телеграм @farenberg

Andrey
25.09.2018
15:06:02
Позволь уточнить, что именно тебя интересует. Написание запросов или структура работы postgresql?
Я думаю на первом этапе в основном написание запросов, но и в общем с теорией баз данных нужно разобраться и особенностями постгрес в том числе

Alexander
25.09.2018
15:07:29
Ну смотри, предлагаю тебе для начала позаниматься на сайте http://www.sql-ex.ru/?Lang=0 Потом https://postgrespro.ru/education/courses/DBA2

Google
sergio
25.09.2018
15:09:17
подскажите кто разбирается в неиронных сетях

Andrey
25.09.2018
15:11:40
Ну смотри, предлагаю тебе для начала позаниматься на сайте http://www.sql-ex.ru/?Lang=0 Потом https://postgrespro.ru/education/courses/DBA2
Спасибо! А в связке EF и постгрес есть что изучать? Или EF без разницы какая субд будет?

Alexander
25.09.2018
15:14:01
EF?

Fike
25.09.2018
15:14:37
entity framework, насколько понимаю, основная шарповая ОРМ

Alexander
25.09.2018
15:15:22
Не знаю, на моей памяти таких связок нету

Andrey
25.09.2018
15:17:48
Спасибо!

Fike
25.09.2018
15:18:43
скорее всего без разницы, на то она и ОРМ

Mike Chuguniy
25.09.2018
15:26:27
У меня есть пара месяцев на изучение постгрес, потом в бэкэнд на аспнет джуном. На данный момент уровень select from where. Расскажите что почитать, что изучить, как попрактиковаться?? Опыта в коммерческой разработке нет, только петпроджекты...
устанавливаете ПГ на куда разрешат, например, на свой десктоп, запускаете, если не запустился после установки, подключаетесь к экземпляру по через psql. Затем читаете: https://postgrespro.ru/docs/postgresql/10/tutorial и https://postgrespro.ru/docs/postgresql/10/sql полностью, пытаясь что-нибудь поделать; затем вот это: https://postgrespro.ru/docs/postgresql/10/server-programming

Google
Andrey
25.09.2018
15:34:26
да хоть виртуалку в virtualbox на ubuntu
Понял, большое спасибо!

Eagle Owl
25.09.2018
15:43:30
Спасибо! А в связке EF и постгрес есть что изучать? Или EF без разницы какая субд будет?
Почти без разницы, но своих нюансов немного есть. Например, атрибутом ConcurrencyToken просто так какое-либо из полей не пометишь, так как в SQL Server'е отдельный определённый тип на это дело. Плюс я написал себе отдельный хелпер, который названия полей из SnakeCase в pascal_case при создании конвертирует. Иначе запросы писать неудобно, если есть в названиях большие буквы, их приходится кавычками экранировать.

Mike Chuguniy
25.09.2018
15:45:10
Похоже на план! спасибо!!
Стоп. между "Введением" и "Языком SQL" документации очень неплохо было бы погуглить что-нибудь типа "Проектирование реляционных баз данных", а особенно "нормализация баз данных", но тут я бессилен что-либо рекомендовать, т.к. фундамент по этой теме мне в мозги был заложен в ВУЗ-е, дальше уже мало-мало на подобные материалы смотрел. Ибо оно тогда вполне себе нормально легло.

Eagle Owl
25.09.2018
15:47:04
Почти без разницы, но своих нюансов немного есть. Например, атрибутом ConcurrencyToken просто так какое-либо из полей не пометишь, так как в SQL Server'е отдельный определённый тип на это дело. Плюс я написал себе отдельный хелпер, который названия полей из SnakeCase в pascal_case при создании конвертирует. Иначе запросы писать неудобно, если есть в названиях большие буквы, их приходится кавычками экранировать.
И миграционные файлики немного разные создаются. Разница будет, если понадобится специфичный индекс для постгри создать или тип колонки какой-нибудь. Но это уже при глубоком изучении, если просто подключать постгрю за основу в приложении с EF вместо скуль сервера, то всё ок работает, глюков в своей практике не замечал.

Mike Chuguniy
25.09.2018
15:47:49
А вот ещё что, я дома буду тыкать, что лучше, на десктоп поставить или взять какой нить хостинг с убунтой и сразу там ковырять?
Если на десктопе 10-я винда, то лучше и проще будет использовать Windows Subsystem for Linux https://docs.microsoft.com/en-us/windows/wsl/install-win10

Eagle Owl
25.09.2018
16:00:29
Мне винды хватает https://www.openscg.com/bigsql/postgresql/installers.jsp/ отсюда тупо бинарник, Navicat в качестве клиента, и дома с локалхостом вообще обалденчик. Для домашней разработки\обучения имхо норм.

Yaroslav
25.09.2018
16:10:06
Понял, большое спасибо!
По упражнениям ещё, бывает, советуют: https://pgexercises.com/ https://selectstarsql.com/

Andrey
25.09.2018
16:15:01
Всем спасибо! Не то, что в дотнет чате сразу отправили менять постгрес на оракл, злыдни)) Спасибо! ?

Terminator
25.09.2018
16:36:04
@anttoon будет жить. Поприветствуем!

Anttoon
25.09.2018
16:36:10
=)

Vitaliy
25.09.2018
16:53:38
Добрый вечер! Я далеко не разработчик, поэтому такой поверхностный вопрос: Имеется доста́точно большая нагрузка (CPU) на сервер СУБД PostgreSQL 9.4, основной источник нагрузки это вызов одной функции. Судя по коду функции, это читающая нагрузка, но есть блок кода с созданием временной таблицы. Вопрос: бывают ли ситуации, когда без временных таблиц ну никак? Или мне поднять вопрос отделу разработки о необходимости переписать данную функцию? Основная идея, это распределение нагрузки на чтение на реплики. И по понятной причине, это не могут быть функции создающие временные таблицы.

Vitaliy
25.09.2018
17:03:34
Для начала, хотелось бы избавиться от логики создания временной таблицы, если это возможно. В основном чтобы появилась возможность распределить эту нагрузку по N числу реплик. Ну и необходимость оптимизации не отпадает. Транзакций более тысячи в секунду, и create/drop temporary table для каждой транзакции дорого.

Volodymyr Kostyrko
25.09.2018
18:07:28
Может во вьюв запихать можно...

Terminator
25.09.2018
19:08:53
@lowit_agr будет жить. Поприветствуем!

А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
19:16:47
Друзья, всем привет Есть вопрос, сам уже очень долго бьюсь Вопрос про ltree Есть табличка regions В ней есть страны, регионы и города Ну и соответственно есть поле path где записи вида 1.2.3 1. Нужно получить все страны 2. Все города Проблема в следующем: есть города которые являются детьми страны, при этом есть те у которых родитель - регион А ещё ко всему прочему есть страны, слава богу из только четыре, которые являться корневым, когда все остальные являются детьми объекта мир В общем в случае городов задача сводится к получению всех листьев Но как это делается через lquery не могу найти А вот как искать страны не представляю даже в теории :(

Terminator
25.09.2018
20:02:02
@ksulem будет жить. Поприветствуем!

Google
А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
21:06:28
А почему у вас города это не Many2Many? А как Many2One?
А как это many2many будет выглядеть в ltree? Да и в жизни город в принципе имеет лишь одного родителя это регион или страна (например в случае с Питером или Москвой)

S
25.09.2018
21:06:57
очепятка)
с USE_PGXS получилось собрать?

Dmitrii
25.09.2018
21:07:06
У меня был реальный случай работы в России, пришлось кучу перерабатывать в системе из-за этого

А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
21:08:02
Я не хочу здесь сейчас разводить политику но нет. Города это Many2Many
А к чему, типо город относится и к стране и к региону?

Dmitrii
25.09.2018
21:08:55
А к чему, типо город относится и к стране и к региону?
Хорошо, да простят меня модераторы. У вас города в Крыму российские или украинские?

Есть ещё много спорных территорий

А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
21:13:43
Хорошо, да простят меня модераторы. У вас города в Крыму российские или украинские?
Ахахах неожиданный вопрос честно) Ну по правде говоря в случае с Крымом он однозначно должен относится к чему-то одному, а к чему конкретно уже зависит не от разработчика Хотя соглашусь есть города где граница стран пролегает прямо посреди города Но тут это не так важно в данной ситуации, такими неточностям сейчас можно пренебречь Главное ltree побороть без рефакторинга базы)

Fike
25.09.2018
21:14:52
ну другой пример - у вас переименовывают/переделывают топоним, и в течение какого-то времени у вас данные приходят по разным топонимам

Dmitrii
25.09.2018
21:15:53
Просто был опыт что нам ПМ сказал для Украины показывать как украинские города, для русских IP как российские и все привязки в профилях сохранять

Такие дела

С тех пор я запомнил что города для меня больше никогда не будут Many2One

А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
21:18:47
Так ок, я на самом деле согласен что такой способ хранения городов не оптимален, но такие кейсы на данный момент не существенны, и на данный момент переделать уже существующие таблицы со связями и приложения которые их используют с вагоном легаси будет больно Сейчас нужно понять, в текущей структуре таблицы можно ли получить все города и страны через lquery Или это невозможно? Если не возможно тогда действительно встанет вопрос о рефакторинге

Dmitrii
25.09.2018
21:19:43
Я с ltree не работал. Просто болька вспомнилась подруку

А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
21:20:29
Я с ltree не работал. Просто болька вспомнилась подруку
Попробуй тогда поработать, новая болька появится :)

Dmitrii
25.09.2018
21:22:08
Мы с минимум расширений работаем обычно, потому что у нас все базы в RDS. Все уже давно уяснили что туда ничего не поставить и изначально все максимально проектируется чтобы на обычном стандарте работало

А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
21:25:46
Ну тогда мне остаётся только позавидовать тебе) У нас ещё в базу ходит приложенька на питоне через алхимию, а там работа с ltree это отдельное удовольствие, ещё и при отсутствии нормальной документации)

Google
Darafei
25.09.2018
21:28:33
С тех пор я запомнил что города для меня больше никогда не будут Many2One
Чаще всего хватает ST_Intersects (и да, в спорных случаях он радостно вернет все варианты)

Terminator
25.09.2018
21:40:35
@Thene0h будет жить. Поприветствуем!

А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
21:45:03
Darafei
25.09.2018
21:47:22
Бодро с ltree скатились в совсем уже постгис :)
Попытки запихать четырехмерные данные в одномерные деревья обречены обрастать проблемами :)

А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
21:52:13
Попытки запихать четырехмерные данные в одномерные деревья обречены обрастать проблемами :)
Ну про четырёхмерные ты немножко перегнул Но в принципе мысль я твою понял и с ней согласен Вот только что делать если база уже так живёт очень долгое время Да и география там честно говоря точная вообще не принципиальна Неточности вроде Крыма вполне допустимы Другое дело я не могу казалось бы элементарную задачу поиска по деревьям решить библиотекой которая создана для этого И вот вопрос либо я не могу её осилить, либо она так себе (

Darafei
25.09.2018
21:53:16
В ГИС для решения этой задачи тебе нужно было бы просто вытянуть все с type=city

А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
21:55:14
Знаешь будь у меня в табличке поле type я вообще не знал бы гисы всякие и лтри тем более, вопрос решился бы where :)

Yaroslav
25.09.2018
21:56:31
А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
21:59:01
Да, конечно есть Что нужно более конкретно? Я в принципе писал структуру того что есть:

Друзья, всем привет Есть вопрос, сам уже очень долго бьюсь Вопрос про ltree Есть табличка regions В ней есть страны, регионы и города Ну и соответственно есть поле path где записи вида 1.2.3 1. Нужно получить все страны 2. Все города Проблема в следующем: есть города которые являются детьми страны, при этом есть те у которых родитель - регион А ещё ко всему прочему есть страны, слава богу из только четыре, которые являться корневым, когда все остальные являются детьми объекта мир В общем в случае городов задача сводится к получению всех листьев Но как это делается через lquery не могу найти А вот как искать страны не представляю даже в теории :(

Yaroslav
25.09.2018
22:02:55
Да, конечно есть Что нужно более конкретно? Я в принципе писал структуру того что есть:
Лучше бы были релевантные тестовые данные (в виде CREATE TABLE / INSERT), которые показывают проблему. И конкретные вопросы, для которых не получается составить запросы... А то это всё слишко общо. :(

А͗ ̼̞̪̹г̥̮͓͎̻̈́̓͝р̫̫̓ ͓̼е̸̠͙̫͖̪̰̒г̫̟͉̝̤ͧͫа̹̗͔͈̾͟ͅт ̗̔̓ͫ̉о͛̈̅͞р̛ͣͤ
25.09.2018
22:12:12
Уф, понял, в таком виде данные сейчас не приготовлю Могу только на словах: Россия 1 Мир 2 Украина 2.1 Харьковская область 2.1.1 Харьков 2.1.1.1 Москва 1.1 МО 1.2 Подольск 1.2.1 Циферки это соответственно ltree дерево Получить нужно все крайние элементы, то есть листья, то есть города

Yaroslav
25.09.2018
22:18:21
Уф, понял, в таком виде данные сейчас не приготовлю Могу только на словах: Россия 1 Мир 2 Украина 2.1 Харьковская область 2.1.1 Харьков 2.1.1.1 Москва 1.1 МО 1.2 Подольск 1.2.1 Циферки это соответственно ltree дерево Получить нужно все крайние элементы, то есть листья, то есть города
Ага... > Но как это делается через lquery не могу найти Да никак, насколько я вижу. lquery задаёт выражение, которому должно соответствовать ltree само по себе, я правильно понял? А здесь выборка записей зависит от наличия других записей. Из Вашего примера: > Харьков 2.1.1.1 > Подольск 1.2.1 Должны быть выбраны только потому, что нет других записей с такими префиксами... вроде так, нет?

Illia
25.09.2018
23:56:43
Уважаемые участники канала, подскажите пожалуйста. У меня в одной таблице есть объекты с ПК id типа bigint и в другой таблице колонка с массивом bigint[], содержащим эти id. Мне надо выбрать все строки из второй таблицы, в которых есть в массиве эти id с каким-то условием. Т.е. необходимо выполнить запрос типа такого: select * from data.requests where places @> ARRAY[select id from data.places where query_id = 202]::bigint[] Как правильно составить такой запрос? (Вышеописанный выдаёт ошибку.) Заранее большое спасибо!

Нашёл обходной путь: select p.id, pl.vr_id from data.places p join (select vr.id vr_id, unnest(vr.places) vr_place from data.requests vr) pl on pl.vr_place = p.id where query_id = 202

Andrey
26.09.2018
05:15:31
Мартин Грабер введение в SQL
Спасибо! А Дейт не очень подойдёт для начинающего?

Lestat -
26.09.2018
05:43:04
Google
Vladimir
26.09.2018
05:45:38
Ну, не получится...
у меня получилось с ходу родившимся в голове костылём: разбором Explain’a запроса дернуть алиас. Потом уже решил тут узнать альтернативы

Andrey
26.09.2018
05:47:12
Пока нет, закончил изучать c#, на очереди аспнет, а потом постгрес Net framework

Спасибо!

Страница 1000 из 1062