Size: a a a

pgsql – PostgreSQL

2021 February 18

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
Которые к запросу совсем не относятся же
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
Вот, разобрался с BUFFERS: https://explain.depesz.com/s/bKRQ
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitrii Korotovskii
Которые к запросу совсем не относятся же
Могут относиться к оценкам.
А сам запрос Вы показывали (может, я пропустил)?
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
Не, не показывал
источник

🌌[

🌌El.Randir/42ᅠ [AD]... in pgsql – PostgreSQL
Ребят привет, задачка:
Дана таблица

id | name | data_source | data_source_used

Где

id - чиселки
name — название
data_source — источник
data_source_used — бул

Задача:
Объединяем с этой же табличкой, чтобы узнать, где используются data_source, но с другими name.

Проблема:
При left join получается что они присоединяются друг к дружке, но!

Но:
1. Мне нужно убрать где табличка ссылается саму на себя. Что логично, но если я ставлю условие where d.name != d.name, у меня пропадают те строки, где нету других подвязок (то есть источник уникальный, и используется единожды)

Кто-то делал подобное, как можно сделать то, что надо без лишних телодвижений.

Пробный вариант решения:
Сделать ROW_NUMBER() где партиция по названию. И тогда условие, что-то вроде

if max(row_number)>1 when d.name != d2.name, но я не допёр куда его вставлять.
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
Его ORM генерит, при желании конечно можно попробовать переделать если будут намеки на ускорение при определенных переделках
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
источник

VY

Victor Yegorov in pgsql – PostgreSQL
🌌El.Randir/42ᅠ [AD]
Ребят привет, задачка:
Дана таблица

id | name | data_source | data_source_used

Где

id - чиселки
name — название
data_source — источник
data_source_used — бул

Задача:
Объединяем с этой же табличкой, чтобы узнать, где используются data_source, но с другими name.

Проблема:
При left join получается что они присоединяются друг к дружке, но!

Но:
1. Мне нужно убрать где табличка ссылается саму на себя. Что логично, но если я ставлю условие where d.name != d.name, у меня пропадают те строки, где нету других подвязок (то есть источник уникальный, и используется единожды)

Кто-то делал подобное, как можно сделать то, что надо без лишних телодвижений.

Пробный вариант решения:
Сделать ROW_NUMBER() где партиция по названию. И тогда условие, что-то вроде

if max(row_number)>1 when d.name != d2.name, но я не допёр куда его вставлять.
LEFT JOIN self dup ON orig.data_source=dup.data_source AND NOT orig.name = dup.name
источник

AS

Anton Sheverda in pgsql – PostgreSQL
Добрый день, подскажите, если ли способ решить проблему неявных транзакций в процедурах?
Версия postgresql 9.6

CREATE OR REPLACE FUNCTION test()
RETURNS void AS $$
BEGIN
 PERFORM func1();
 PERFORM func2();
END;
$$ LANGUAGE plpgsql;

То что нашел в инете.  Такой вариант не очень подходит.
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Anton Sheverda
Добрый день, подскажите, если ли способ решить проблему неявных транзакций в процедурах?
Версия postgresql 9.6

CREATE OR REPLACE FUNCTION test()
RETURNS void AS $$
BEGIN
 PERFORM func1();
 PERFORM func2();
END;
$$ LANGUAGE plpgsql;

То что нашел в инете.  Такой вариант не очень подходит.
9.6, только ф-ции, выполняются всегда в транзакции вызывающего запроса
источник

M

Mitai in pgsql – PostgreSQL
все оказалось проще, дело было в настройках фарвола гугл клауд
источник

JD

Jim Di in pgsql – PostgreSQL
Anton Sheverda
Добрый день, подскажите, если ли способ решить проблему неявных транзакций в процедурах?
Версия postgresql 9.6

CREATE OR REPLACE FUNCTION test()
RETURNS void AS $$
BEGIN
 PERFORM func1();
 PERFORM func2();
END;
$$ LANGUAGE plpgsql;

То что нашел в инете.  Такой вариант не очень подходит.
если я всё верно понял, то dblink может помочь
источник

AS

Anton Sheverda in pgsql – PostgreSQL
Victor Yegorov
9.6, только ф-ции, выполняются всегда в транзакции вызывающего запроса
Спасибо, сейчас попробую
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
По sql-запросу ни у кого идей нет?
источник

АА

Андрей Агеев... in pgsql – PostgreSQL
Dmitrii Korotovskii
По sql-запросу ни у кого идей нет?
Когда запись ссылается на саму себя, то id будут равны.
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
Андрей Агеев
Когда запись ссылается на саму себя, то id будут равны.
Что вы имеете ввиду?
источник

A

Alexandr in pgsql – PostgreSQL
Всем привет. Хочу прикрутить мониторить postgres в заббиксе. Иду по мануалу и не совсем понимаю данное значение
host all zbx_monitor 127.0.0.1/32 trust
host all zbx_monitor 0.0.0.0/0 md5
зачем нужна последняя строка если агент с локалхоста будет брать?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitrii Korotovskii
Вот, разобрался с BUFFERS: https://explain.depesz.com/s/bKRQ
И не поймёшь, куда кидаться в плане оптимизации (в плане всё как-то равномерно "так себе") . ;)
Видно, что work_mem маловато для этого плана — можно попробовать увеличить; можно бы попробовать "CREATE INDEX ON shops(country_id, is_active);" (но это тоже так-сяк, если вообще поможет), можно на другие части плана посмотреть...
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
work_mem походу вообще дефолтовый, 4MB только что проверил.
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
Это дефолтная параметр группа в RDS.
источник