Size: a a a

pgsql – PostgreSQL

2021 March 25

YS

Yaroslav Schekin in pgsql – PostgreSQL
Kamiλ Liberal-free
Такой вопрос: в jsonb при использовании GIN индекса замена ? на -> с проверкой на налл будет использоваться индекс?
Вы бы лучше конкретные условия показали... но если я правильно понял вопрос, то нет.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Kamiλ Liberal-free
Использовать ? не могу, потому что ограничение препейред стейтмента.
Хмм? По крайней мере, это не ограничение prepared statements в PostgreSQL.
источник

KL

Kamiλ Liberal-free in pgsql – PostgreSQL
Yaroslav Schekin
Хмм? По крайней мере, это не ограничение prepared statements в PostgreSQL.
Да, это не ограничение pg
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Илья Тишкин
подскажите, а есть возможность в PG получить имя клиента, под которым он ходит в операционку (а не БД, как current_user)?
Если только это имя вдруг как-то пришлёт клиент, да и то он может обмануть
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Илья Тишкин
подскажите, а есть возможность в PG получить имя клиента, под которым он ходит в операционку (а не БД, как current_user)?
А откуда PostgreSQL вообще может его знать, в общем случае? Поэтому нет.
источник

ИТ

Илья Тишкин... in pgsql – PostgreSQL
спасибо... просто в teradata такая штука есть, думаю как переписать )
источник

KL

Kamiλ Liberal-free in pgsql – PostgreSQL
В общем, у меня есть json, в котором динамические рут ключи. Понятное дело, что это уже проблема дизайна, но что есть, то есть.
{ "5421bba9-1af5-4bbf-b266-821318040caf":  { .. } }
Соответственно, мне нужно доставать инфу по этим рутовым uuid.
источник

KL

Kamiλ Liberal-free in pgsql – PostgreSQL
Так как по динамическому ключу я индекс построить руками не могу, я заюзал GIN. И меня интересует вопрос: будет ли юзаца индекс при следующем запросе SELECT * FROM table_name WHERE column_name -> "5421bba9-1af5-4bbf-b266-821318040caf" IS NOT NULL
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Илья Тишкин
подскажите, а есть возможность в PG получить имя клиента, под которым он ходит в операционку (а не БД, как current_user)?
можете попробовать прокинуть нужную инфу в уже упоминавшийся application_name, его значение можно задавать при подключении к постгресу
источник

ИТ

Илья Тишкин... in pgsql – PostgreSQL
Alexey Lesovsky
можете попробовать прокинуть нужную инфу в уже упоминавшийся application_name, его значение можно задавать при подключении к постгресу
да нет, задачи прокинуть нет.. есть задача получить что возможно. спасибо
источник

ДМ

Дмитрий Мачихелян... in pgsql – PostgreSQL
Использую INSERT INTO ON CONFLICT DO UPDATE, в случае, если в одном запросе я залью две одинаковые сущности, будет ошибка? Потому что нельзя апдейтить незакоммиченные строки?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Илья Тишкин
да нет, задачи прокинуть нет.. есть задача получить что возможно. спасибо
из коробки нет такого способа, есть только то что клиент передает при установке соединения, при этом в разных реализациях драйверов (в разных ЯП) это может быть разный набор информации. Полная реализация конечно же в сишной libpq.
источник

XX

X X in pgsql – PostgreSQL
Ребят а подскажите а множественные запросы при помощи PDO можно сделать? Несколько запросов за один раз? Или это PDO driver не поддерживает?
источник

ДМ

Дмитрий Мачихелян... in pgsql – PostgreSQL
А нужен ли индекс в данный момент?
Чтобы делать селект по user_id? Но он мне тут не нужен, я же вытаскиваю всё view
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Дмитрий Мачихелян
А нужен ли индекс в данный момент?
Чтобы делать селект по user_id? Но он мне тут не нужен, я же вытаскиваю всё view
Но этого-то Вы тоже не написали. В общем, если действительно нужна помощь по производительности, лучше показывать всё это сразу.
источник

ДМ

Дмитрий Мачихелян... in pgsql – PostgreSQL
Yaroslav Schekin
Но этого-то Вы тоже не написали. В общем, если действительно нужна помощь по производительности, лучше показывать всё это сразу.
Есть у меня view
CREATE OR REPLACE VIEW public.contacts_count
AS SELECT contacts.user_id,
   count(contacts.user_id) AS count
  FROM contacts
 WHERE contacts.contact_origin::text = 'Authentic'::text
 GROUP BY contacts.user_id;

И на этот view я шлю запрос select (*) from contacts_count, вот этот запрос выполняется очень долго
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Дмитрий Мачихелян
Есть у меня view
CREATE OR REPLACE VIEW public.contacts_count
AS SELECT contacts.user_id,
   count(contacts.user_id) AS count
  FROM contacts
 WHERE contacts.contact_origin::text = 'Authentic'::text
 GROUP BY contacts.user_id;

И на этот view я шлю запрос select (*) from contacts_count, вот этот запрос выполняется очень долго
Ещё раз, покажите всё запрошенное, иначе Вы просто впустую тратите время, понимаете?
источник

ДМ

Дмитрий Мачихелян... in pgsql – PostgreSQL
Yaroslav Schekin
Ещё раз, покажите всё запрошенное, иначе Вы просто впустую тратите время, понимаете?
Имеете в виду, что я должен показать еще explain (analyze, buffers)?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Дмитрий Мачихелян
Имеете в виду, что я должен показать еще explain (analyze, buffers)?
Всё перечисленное в https://t.me/pgsql/288632
источник

ДМ

Дмитрий Мачихелян... in pgsql – PostgreSQL
Ага, благодар.
Дождусь результатов explain
источник