Size: a a a

pgsql – PostgreSQL

2021 March 10

AB

Andrew Bille in pgsql – PostgreSQL
Денис Тырышкин
Колонку добавить смогу, как ее заполнить значениями по условию?
Update table set c=case when a in (0,1) then a else b end;
источник

ДТ

Денис Тырышкин... in pgsql – PostgreSQL
Алина Головлева
1) создать колонку С
2) update table_name set C= case when A in (1,0) then A else B end;
Спасибо!
источник

RT

Roman Tsisyk in pgsql – PostgreSQL
Коллеги, не подскажите, PostgreSQL через Amazon NLB с терминаций SSL на NLB кто-нибудь пробовал настраивать? Что-то странное происходит… psql тупо висит при попытке клиента. Без SSL всё работает ок.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Яросlove 💆
Подскажите, пожалуйста, как вернуть рандомную запись по запросу? Нет встроенного механизма в постгресе для этой задач?
Ещё вариант — TABLESAMPLE (ну и https://www.postgresql.org/docs/current/tsm-system-rows.html и т.д.).
источник

RT

Roman Tsisyk in pgsql – PostgreSQL
Roman Tsisyk
Коллеги, не подскажите, PostgreSQL через Amazon NLB с терминаций SSL на NLB кто-нибудь пробовал настраивать? Что-то странное происходит… psql тупо висит при попытке клиента. Без SSL всё работает ок.
походу STARTTLS в постгресе используется.
источник

AG

Alex Grigorev in pgsql – PostgreSQL
Добрый день! Подскажите пожалуйста - есть нагрузка в виде однотипных запросов, сервер держит определенное кол-во/сек, после определенного предела запросы начинают сильно тупить - как узнать во что упирается сервер?
источник

AG

Alex Grigorev in pgsql – PostgreSQL
покидать explain analyze во время "клина" ?
источник

VS

Vladimir Skilyazhnev in pgsql – PostgreSQL
Auto explain на длинные запросы
источник

VS

Vladimir Skilyazhnev in pgsql – PostgreSQL
С включенными буферами
источник

AG

Alex Grigorev in pgsql – PostgreSQL
запросы все одинаковые, меняются параметры.. используются партиции.. до определенного предела выполняется за 35мсек - после начинают подвисать
источник

AG

Alex Grigorev in pgsql – PostgreSQL
Vladimir Skilyazhnev
Auto explain на длинные запросы
"включенные буферы" - это Вы про какие?
источник

AG

Alex Grigorev in pgsql – PostgreSQL
Vladimir Skilyazhnev
Auto explain на длинные запросы
увидел про какие, спасибо!
источник

AM

Alexey Markovski in pgsql – PostgreSQL
Всем привет. Можно ли как-то сделать так, что получить записи по часам за сутки?
SELECT count(*), u.time_registered::date
       FROM "user" u
       WHERE u.time_registered > (CURRENT_DATE - interval '24 hour')
       GROUP BY u.time_registered::date
       ORDER BY u.time_registered::date
источник

DG

Denis Girko ☕️ in pgsql – PostgreSQL
Alexey Markovski
Всем привет. Можно ли как-то сделать так, что получить записи по часам за сутки?
SELECT count(*), u.time_registered::date
       FROM "user" u
       WHERE u.time_registered > (CURRENT_DATE - interval '24 hour')
       GROUP BY u.time_registered::date
       ORDER BY u.time_registered::date
Можно вместо u.time_registered::date написать date_trunc(‘hour’, u.time_registered).
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Alex Grigorev
Добрый день! Подскажите пожалуйста - есть нагрузка в виде однотипных запросов, сервер держит определенное кол-во/сек, после определенного предела запросы начинают сильно тупить - как узнать во что упирается сервер?
Первым делом посмотрите - нет ли длинных транзакций.
источник

LV

Leonid Vygovskiy in pgsql – PostgreSQL
Всем привет! При создании таблиц-справочников для всяких статусов с небольшим количеством значений (типа заказ в работе, заказ выполнен), я обычно делал таблицу справочник с полями

(id:int PK, name : text UNIQUE, description:text) 


и ссылался на записи по id. Это имеет недостаток - таблицы, которые ссылаются на записи справочника, становится сложнее читать.

Можно сделать  первичным ключом название статуса и потом ссылаться на него.

(name : text PK, description:text) 


Вопрос, насколько такой подход (поиск по строкам, по сути), работает медленее поиска по числам? Мне кажется, что на современных CPU уже не так критично. Но я не уверен :)
источник

DF

Dmitry Fomin in pgsql – PostgreSQL
господа, подскажите , пожалуйста почему insert может пытаться взять share lock на таблицу в которую вставляет данные, вроде, по документации share lock берется только create index (без concurrently), insert должен брать только RowExclusiveLock
источник

KK

Konstantin Knizhnik in pgsql – PostgreSQL
Dmitry Fomin
господа, подскажите , пожалуйста почему insert может пытаться взять share lock на таблицу в которую вставляет данные, вроде, по документации share lock берется только create index (без concurrently), insert должен брать только RowExclusiveLock
AccessShareLock нужна любому запросу, который обращается к метаданным таблицы. Хотя бы для того, чтобы убедится, что такая таблица есть и её никто не удалит, пока мы с ней будем работать.
Вот если интересно - можете почитать https://zelark.github.io/exploring-query-locks-in-postgres/
источник

DF

Dmitry Fomin in pgsql – PostgreSQL
Konstantin Knizhnik
AccessShareLock нужна любому запросу, который обращается к метаданным таблицы. Хотя бы для того, чтобы убедится, что такая таблица есть и её никто не удалит, пока мы с ней будем работать.
Вот если интересно - можете почитать https://zelark.github.io/exploring-query-locks-in-postgres/
инсерт ждет не AccessShareLock, а именно ShareLock
источник

KK

Konstantin Knizhnik in pgsql – PostgreSQL
ShareLock ставится действительно в одном месте - в create index concurrently. Insert не может пытаться её взять. Но "брать" и "ждать"  - это разные вещи.
источник