Size: a a a

pgsql – PostgreSQL

2020 June 11

РЖ

Роман Жарков... in pgsql – PostgreSQL
А если вообще анализировать не хочется, то:
§ 25. Землекоп 1-й разряд

Характеристика работ.
Рыхление ранее разработанного грунта. Погрузка разрыхленных грунтов на средства перемещения. Выгрузка грунтов из средств перемещения. Очистка габарита. Разравнивание свеженасыпанного грунта. Перекидка грунтов по горизонтали. Засыпка грунтом траншей, в том числе с уложенными трубопроводами, котлованов и пазух фундаментов.

Что должен знать:
назначение и правила применения ручного инструмента, инвентаря и приспособлений.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sergej Kolodnikov
Вставка вряд ли (строки вставляются по расписанию примерно каждые 2 часа). Может только поле обновляться со статусом.
но тормоза постоянные.

А время планирования это уже к админам базы надо идти? Я как разработчик тут уже ничего не могу поделать?
Сделайте VACUUM этих таблиц, после этого посмотрите план.

> Нашёл также, что включение GEQO может помочь

Где Вы нашли такую чушь? ;) Он для уменьшения времени планирования сложных запросов (где много JOINs).
источник

СГ

Сергей Голод... in pgsql – PostgreSQL
Роман Жарков
В питоне нет try/catch?
всё намного проще:
https://postgrespro.ru/docs/postgresql/12/sql-insert

ON CONFLICT
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Мне не нравится такая конструкция своей монстроидальностью.
1С-ники наверное очень довольны этой функцией.
источник

SK

Sergej Kolodnikov in pgsql – PostgreSQL
Yaroslav Schekin
Сделайте VACUUM этих таблиц, после этого посмотрите план.

> Нашёл также, что включение GEQO может помочь

Где Вы нашли такую чушь? ;) Он для уменьшения времени планирования сложных запросов (где много JOINs).
Выполнил. Там совсем немного было мёртвых записей.
Запрос выполняется всё также долго ((
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sergej Kolodnikov
Выполнил. Там совсем немного было мёртвых записей.
Запрос выполняется всё также долго ((
Хмм... интересно.
А можете показать полную версию PostgreSQL, результат VACUUM VERBOSE, и \d+ каждой таблицы?
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Sergej Kolodnikov
Выполнил. Там совсем немного было мёртвых записей.
Запрос выполняется всё также долго ((
Смотрите загрузку системы, начиная с top.
источник

SK

Sergej Kolodnikov in pgsql – PostgreSQL
Yaroslav Schekin
Хмм... интересно.
А можете показать полную версию PostgreSQL, результат VACUUM VERBOSE, и \d+ каждой таблицы?
Судя по запросам тормозит одна конкретная таблица вроде как.
Делаю простой count(*) для неё.
В тесте: 1,95 сек
В проде: 6 сек

Думаю надо в сторону неё смотреть.
источник

SK

Sergej Kolodnikov in pgsql – PostgreSQL
Yaroslav Schekin
Хмм... интересно.
А можете показать полную версию PostgreSQL, результат VACUUM VERBOSE, и \d+ каждой таблицы?
к сожалению у меня нет прав на вызов psql, чтобы выполнить \d+
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sergej Kolodnikov
Судя по запросам тормозит одна конкретная таблица вроде как.
Делаю простой count(*) для неё.
В тесте: 1,95 сек
В проде: 6 сек

Думаю надо в сторону неё смотреть.
Думаю, лучше показать всё, о чём я спрашивал. ;)
Но в просканированных (не all-visible, наверное) страницах dead rows относительно много, кстати:
containing 350252 live rows and 345106 dead rows
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sergej Kolodnikov
к сожалению у меня нет прав на вызов psql, чтобы выполнить \d+
Да ладно? Какие для этого нужны особые права (и кому и как это так удалось настроить, если на самом деле да)? ;)
источник

SK

Sergej Kolodnikov in pgsql – PostgreSQL
Yaroslav Schekin
Да ладно? Какие для этого нужны особые права (и кому и как это так удалось настроить, если на самом деле да)? ;)
Продовский линуксовый сервак. Админы по минимуму выдали права мне как разработчику ПО
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sergej Kolodnikov
Продовский линуксовый сервак. Админы по минимуму выдали права мне как разработчику ПО
Как они могли запретить Вам стандартными правами, пусть и "по минимуму", вызов конкретно psql?
источник

s0

shuu 01 in pgsql – PostgreSQL
какая ошибка при вызове psql?
источник

SK

Sergej Kolodnikov in pgsql – PostgreSQL
Yaroslav Schekin
Как они могли запретить Вам стандартными правами, пусть и "по минимуму", вызов конкретно psql?
Разобрался. Он не давал мне запустить psql as root
когда попытался запустить так: psql -U postgres -W
то ругается, что Peer authentication failed for user "postgres".
Хотя ввожу пароль ровно тот же, что и в DataGrip
источник

s0

shuu 01 in pgsql – PostgreSQL
psql -U postgres -h localhost
источник

SK

Sergej Kolodnikov in pgsql – PostgreSQL
shuu 01
psql -U postgres -h localhost
Ident authentication failed for user "postgres"
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sergej Kolodnikov
Разобрался. Он не давал мне запустить psql as root
когда попытался запустить так: psql -U postgres -W
то ругается, что Peer authentication failed for user "postgres".
Хотя ввожу пароль ровно тот же, что и в DataGrip
> Он не давал мне запустить psql as root

Хмм.. так Вы root или Вам "по минимуму выдали права"? ;)

> Хотя ввожу пароль ровно тот же, что и в DataGrip

Для peer не нужен пароль. Поэтому — никогда не используйте -W, см. https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don.27t_use_psql_-W_or_--password (т.е. Вы "попались" прямо на описанное).
источник

SK

Sergej Kolodnikov in pgsql – PostgreSQL
Yaroslav Schekin
> Он не давал мне запустить psql as root

Хмм.. так Вы root или Вам "по минимуму выдали права"? ;)

> Хотя ввожу пароль ровно тот же, что и в DataGrip

Для peer не нужен пароль. Поэтому — никогда не используйте -W, см. https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don.27t_use_psql_-W_or_--password (т.е. Вы "попались" прямо на описанное).
Про root: ну попробовать же можно )

Я сначала выполнил просто: psql -U postgres
Он выдал Peer authentication failed
Потом попробовал указать пароль, тоже самое
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Sergej Kolodnikov
Про root: ну попробовать же можно )

Я сначала выполнил просто: psql -U postgres
Он выдал Peer authentication failed
Потом попробовал указать пароль, тоже самое
Попробовать что (откуда такая ошибка-то)? Вы или root (и права у Вас максимальные), или Вам "по минимуму выдали права".

> Потом попробовал указать пароль, тоже самое

Да, я видел. Если Datagrip требует пароля, он не использует peer, понимаете?
Т.е. Вам нужно подключиться так же, как это делает он; или см. pg_hba.conf
А вообще, в решении проблем с подключением я участвовать не хочу, извините.
источник