Size: a a a

pgsql – PostgreSQL

2021 March 14

t

toshap2 in pgsql – PostgreSQL
Artem
Ребят, возник такой вопрос.
Есть 3 таблицы:
* authors(id, name, ...),
* authors_articles(author_id, article_id),
* articles(id, title, ...)
Т. е. авторы имеют связь многие ко многим со статьями.
Как найти всех авторов у которых есть как минимум две указанных статьи?
Думаю это сделать так: склеить агрегатной функцией array_agg id статей и в having фильтровать записи этим полученным массивом, но что-то мне кажется что-это не очень SQL решение. Какие есть другие решения и где бы о таких ситуациях почитать?
select author_id from authors_articles
WHERE article_id IN (<указанные статьи>)
GROUP BY author_id
HAVING COUNT(1)>1
источник

A

Artem in pgsql – PostgreSQL
toshap2
select author_id from authors_articles
WHERE article_id IN (<указанные статьи>)
GROUP BY author_id
HAVING COUNT(1)>1
А если помимо фильтра статей, есть еще доп. фильтрация по полям пользователя, то тогда только с подзапросами?
источник

t

toshap2 in pgsql – PostgreSQL
Artem
А если помимо фильтра статей, есть еще доп. фильтрация по полям пользователя, то тогда только с подзапросами?
нет, приджойнить пользователя
и ограничить, типа
join users U on U.us_id=authors_articles.us_id
источник

t

toshap2 in pgsql – PostgreSQL
а, поля пользователя - это просто какието доп поля, тогда во where поместить через and
источник

A

Artem in pgsql – PostgreSQL
toshap2
нет, приджойнить пользователя
и ограничить, типа
join users U on U.us_id=authors_articles.us_id
Ок, спасибо
источник

M

Mitai in pgsql – PostgreSQL
статья крутая, но нет поддержки Dart...
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Бессмысленный поток сознания без подачи мысТли. Бред, короче.
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Вам сюда: https://t.me/pgsqljobs
источник

AR

Aleksandr Rybalkin in pgsql – PostgreSQL
Спасибо
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Михаил Шурутов
А правильные адепты postgres-а используют:
а) *nix на десктопе:
б) psql, на худой конец, vim с нужными плагинами для ПГ.
:P
Ну прям чрезвычайно толсто. Простите, не сдержался.
источник
2021 March 15

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Andrey Tatarnikov
Ну прям чрезвычайно толсто. Простите, не сдержался.
Ага, а ещё по-солдафонски прямолинейно и совершенно нетолерантно, да. зато правда.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Andrey Tatarnikov
Ну прям чрезвычайно толсто. Простите, не сдержался.
Хмм... а в чём проблема-то, не считая "адептов"?
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Yaroslav Schekin
Хмм... а в чём проблема-то, не считая "адептов"?
Проблема любого подобного заявления, кмк, в безапелляционности оного. Особенно в части "%osname% на десктопе" :)
источник

2_

2flower _ in pgsql – PostgreSQL
Andrey Tatarnikov
Проблема любого подобного заявления, кмк, в безапелляционности оного. Особенно в части "%osname% на десктопе" :)
А что вам не понравилось, все по делу. Да есть инерционность с переходом на Линукс, но для ИТ это вполне решаемая задача, если вы администрируете красноглазые ос.
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
2flower _
А что вам не понравилось, все по делу. Да есть инерционность с переходом на Линукс, но для ИТ это вполне решаемая задача, если вы администрируете красноглазые ос.
У вещей должен быть смысл. "Работая с юникс - сиди на юникс" - это не смысл, это пропаганда.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Andrey Tatarnikov
Проблема любого подобного заявления, кмк, в безапелляционности оного. Особенно в части "%osname% на десктопе" :)
Ну так Вы же спрашивали:

> вы тоже работаете в десктопных версиях?

А я вот вообще никогда не видел pgAdmin 4, например. И, судя по бесконечным жалобам "благодарных" пользователей в связанных с postgres каналах/чатах/форумах (особенно много было тогда, когда он только появился), счастлив этим. ;)

> я этой бд пользуюсь не так давно и что-то проблемки такие доставляют неудобства, хоть и всё остальное по нраву

Так вот pgAdmin 4 — это yet another GUI tool для "этой БД" — он не является частью проекта PostgreSQL, не рекомендуется и не поддерживается разработчиками PostgreSQL. И в своё время эти самые разработчики прямо-таки задолбались давать этот ответ вышеупомянутым пользователям.

Так что если он Вам не нравится — просто используйте другой клиент, да и всё.
Но проектом поддерживается только psql, если что.
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Но я смотрю на вещи с точки зрения очень большого enterprise, может это профдеформация.
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Yaroslav Schekin
Ну так Вы же спрашивали:

> вы тоже работаете в десктопных версиях?

А я вот вообще никогда не видел pgAdmin 4, например. И, судя по бесконечным жалобам "благодарных" пользователей в связанных с postgres каналах/чатах/форумах (особенно много было тогда, когда он только появился), счастлив этим. ;)

> я этой бд пользуюсь не так давно и что-то проблемки такие доставляют неудобства, хоть и всё остальное по нраву

Так вот pgAdmin 4 — это yet another GUI tool для "этой БД" — он не является частью проекта PostgreSQL, не рекомендуется и не поддерживается разработчиками PostgreSQL. И в своё время эти самые разработчики прямо-таки задолбались давать этот ответ вышеупомянутым пользователям.

Так что если он Вам не нравится — просто используйте другой клиент, да и всё.
Но проектом поддерживается только psql, если что.
Вы ошиблись автором того сообщения. :) Что до pgAdmin, например, то для рядовых задач в большой и разношёрстной инфраструктуре он вполне годен. Правда действительно не ясно зачем водружать его куда-то на сервер, он прекрасно себя чувствует локально. Да и нечего захламлять хосты ненужной ерундой
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Andrey Tatarnikov
Вы ошиблись автором того сообщения. :) Что до pgAdmin, например, то для рядовых задач в большой и разношёрстной инфраструктуре он вполне годен. Правда действительно не ясно зачем водружать его куда-то на сервер, он прекрасно себя чувствует локально. Да и нечего захламлять хосты ненужной ерундой
Вот как раз в кровавом энтерпрайзе пгадмин, как веб-ориентированный клиент вполне себе. Что позволит существенно снизить требования к виртуалкам рядовых разработчиков и прочих эксплуататоров.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Andrey Tatarnikov
Вы ошиблись автором того сообщения. :) Что до pgAdmin, например, то для рядовых задач в большой и разношёрстной инфраструктуре он вполне годен. Правда действительно не ясно зачем водружать его куда-то на сервер, он прекрасно себя чувствует локально. Да и нечего захламлять хосты ненужной ерундой
Да, действительно, извините. :(

> то для рядовых задач в большой и разношёрстной инфраструктуре он вполне годен.

Может быть, уже и годен. Но чем он лучше того же psql для рядовых задач DBA?
А под "большой и разношёрстной инфраструктуре" что имеется в виду?
А то есть же всякие клиенты, умеющие с разными СУБД работать, если речь про это.
источник