Size: a a a

pgsql – PostgreSQL

2020 June 16

П

Павел П. in pgsql – PostgreSQL
Сергей Жуков
Добрый день. Вопрос такой. Select *  без фильтра из таблички, в которой всего 10 строк и размер 20 МБ, занимает 1,5 минуты. План выполнения - seq scan. В таблице в основном поля типа varhar и есть типа text. Понятно, что select * не грамотно писать. Но все же что можете посоветовать?
а в чём проблема-то?)
источник

СЖ

Сергей Жуков... in pgsql – PostgreSQL
Павел П.
а в чём проблема-то?)
Время выполнения запроса не является удовлетворительным. Вы так не считаете? Таблица маленькая - 20МБ всего.
источник

П

Павел П. in pgsql – PostgreSQL
Запускается локально? Или все 20 метров по не быстрой сети куда-то отправляются?
источник

СЖ

Сергей Жуков... in pgsql – PostgreSQL
Павел П.
Запускается локально? Или все 20 метров по не быстрой сети куда-то отправляются?
Все локально
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Сергей Жуков
Добрый день. Вопрос такой. Select *  без фильтра из таблички, в которой всего 10 строк и размер 20 МБ, занимает 1,5 минуты. План выполнения - seq scan. В таблице в основном поля типа varhar и есть типа text. Понятно, что select * не грамотно писать. Но все же что можете посоветовать?
Покажите EXPLAIN (ANALYZE, BUFFERS).
Это что-то странное, в самом деле.
источник

СЖ

Сергей Жуков... in pgsql – PostgreSQL
Yaroslav Schekin
Покажите EXPLAIN (ANALYZE, BUFFERS).
Это что-то странное, в самом деле.
Телеграм не стоит на компе, извините. Так покажу.
Buffers: shared hit=1
Planning time: 0.049 ms
Execution Time: 0.025 ms
Не верно Павлу написал - не локально, а сеть отжирает все время.
источник

s

sexst in pgsql – PostgreSQL
Сергей Жуков
Телеграм не стоит на компе, извините. Так покажу.
Buffers: shared hit=1
Planning time: 0.049 ms
Execution Time: 0.025 ms
Не верно Павлу написал - не локально, а сеть отжирает все время.
А у вас скорости то до сервера сколько?
источник

СЖ

Сергей Жуков... in pgsql – PostgreSQL
sexst
А у вас скорости то до сервера сколько?
По поводу сети не могу сказать, к сожалению )
источник

s

sexst in pgsql – PostgreSQL
Сергей Жуков
По поводу сети не могу сказать, к сожалению )
Ну попингуйте хоть, может у вас там latency запредельный
источник

СЖ

Сергей Жуков... in pgsql – PostgreSQL
sexst
Ну попингуйте хоть, может у вас там latency запредельный
В облаке не пингуется )
источник

s

sexst in pgsql – PostgreSQL
Плюс может банально потери у вас до туда
источник

СЖ

Сергей Жуков... in pgsql – PostgreSQL
Коллеги, благодарю. Куда копать, понял.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Сергей Жуков
Телеграм не стоит на компе, извините. Так покажу.
Buffers: shared hit=1
Planning time: 0.049 ms
Execution Time: 0.025 ms
Не верно Павлу написал - не локально, а сеть отжирает все время.
Ну и проблема не в PostgreSQL, с виду.
Можно ещё проверить "CREATE TEMPORARY TABLE a_name AS SELECT * FROM ...;", на всякий случай (с помощью \timing, в смысле).
источник

JS

John Stellmann in pgsql – PostgreSQL
Ребята подскажите в чем может быть проблема
апдейчу таблицу, меняю один из айдишников сдвоенного ключа

ERROR:  duplicate key value violates unique constraint "PK_TableoneTabletwo"
DETAIL:  Key ("TableoneId", "TabletwoId")=(6885aba4-6b1f-4546-bc04-e55c49d0fd6f, b7fe9bd6-a44f-44a7-b408-ffabba1a1a1e) already exists.

Хотя при выборке его нету
источник

JS

John Stellmann in pgsql – PostgreSQL
апдейт ключа имеет сайдефекты?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
John Stellmann
Ребята подскажите в чем может быть проблема
апдейчу таблицу, меняю один из айдишников сдвоенного ключа

ERROR:  duplicate key value violates unique constraint "PK_TableoneTabletwo"
DETAIL:  Key ("TableoneId", "TabletwoId")=(6885aba4-6b1f-4546-bc04-e55c49d0fd6f, b7fe9bd6-a44f-44a7-b408-ffabba1a1a1e) already exists.

Хотя при выборке его нету
> меняю один из айдишников сдвоенного ключа

Что такое "сдвоенный ключ"?

> апдейт ключа имеет сайдефекты?

Вы меняете на сочетание значений, которое уже существует, скорее всего.
Если нет — покажите что-то конкретное (запросы, \d таблицы...).
источник

JS

John Stellmann in pgsql – PostgreSQL
select * from public."TableoneTabletwo"
where ("TableoneId", "TabletwoId") = ('6885aba4-6b1f-4546-bc04-e55c49d0fd6f', 'b7fe9bd6-a44f-44a7-b408-ffabba1a1a1e')

===
0 records
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
John Stellmann
select * from public."TableoneTabletwo"
where ("TableoneId", "TabletwoId") = ('6885aba4-6b1f-4546-bc04-e55c49d0fd6f', 'b7fe9bd6-a44f-44a7-b408-ffabba1a1a1e')

===
0 records
Ну не показывайте / не отвечайте на конкретные вопросы — это не наша проблема, в конце концов. ;)
источник

JS

John Stellmann in pgsql – PostgreSQL
Yaroslav Schekin
Ну не показывайте / не отвечайте на конкретные вопросы — это не наша проблема, в конце концов. ;)
персональные данные пользователей, преполагал что это known issue, спасибо))
источник

КК

Кракозябр Кракозябро... in pgsql – PostgreSQL
Приветсвую.
Столкнулся с интересной проблемой. Требуется регистронезависимый поиск вхождения подстроки в таблице. Пробовал
SELECT post, id FROM users WHERE post ILIKE '%начальник%';
SELECT post, id FROM users WHERE post ~* 'начальник';
SELECT post, id FROM users WHERE LOWER(post) ~* LOWER('начальник');
В общем различные комбинации ~*
Все варианты не работают пока не напишешь "Начальник", я блин что-то не так делаю или у нас меркурий не  в том юпитере и база просто тупит?
источник