Size: a a a

pgsql – PostgreSQL

2021 February 26

D

Dmitriy in pgsql – PostgreSQL
Dmitry Kudryavtsev
Немного не понимаю о чем речь
su - postgres
psql
\d services
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Roman
У меня получается картина, что на 34 базы под рабочей нагрузкой, эта база с запросами pg_trgm составляет 60% загрузка цпу всего сервера. Я и пытаюсь понять нормальная ли эта картина при работе с этим расширением или где то что то идёт не так.
Так, может, другие запросы (к другим базам) в основном "простые" (типичные для OLTP)?
Если так — у них-то как раз накладных расходов много.
А триграммный индекс, скорее всего, создан для чего-то "тяжёлого" (иначе бы его там не было, верно?), вот такие запросы и выбиваются из общего ряда.
источник

KK

Konstantin K in pgsql – PostgreSQL
Yaroslav Schekin
Т.е. Вам что-то такое https://www.apgdiff.com/ нужно, но актуальное (в смысле, я правильно понял вопрос)?
похоже :) недостающие/изменённые объекты накатить
источник

DK

Dmitry Kudryavtsev in pgsql – PostgreSQL
Dmitriy
su - postgres
psql
\d services
источник

D

Dmitriy in pgsql – PostgreSQL
Выполните там же: select specializationId from services limit 1;
источник

R

Roman in pgsql – PostgreSQL
Yaroslav Schekin
Так, может, другие запросы (к другим базам) в основном "простые" (типичные для OLTP)?
Если так — у них-то как раз накладных расходов много.
А триграммный индекс, скорее всего, создан для чего-то "тяжёлого" (иначе бы его там не было, верно?), вот такие запросы и выбиваются из общего ряда.
Да, через pg_trgm ищутся и сопоставляются различные строки произвольной длины (до 50 символов) , плюс транслитерация этих строк.
Благодарю за ответы! Видимо это просто так работает и либо стоит смириться, либо не использовать реляционки для этих целей.
источник

DK

Dmitry Kudryavtsev in pgsql – PostgreSQL
Dmitriy
Выполните там же: select specializationId from services limit 1;
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Гррр... какая буква в слове "текстом" Вам непонятна, а?!
По теме — в названии поля есть "I", для обращения к этому полю в запросах возьмите его в двойные кавычки.
источник

D

Dmitriy in pgsql – PostgreSQL
А вот так? select "specializationId" from services limit 1;
источник

DK

Dmitry Kudryavtsev in pgsql – PostgreSQL
Dmitriy
А вот так? select "specializationId" from services limit 1;
вот так выполнилось
источник

D

Dmitriy in pgsql – PostgreSQL
Yaroslav Schekin
Гррр... какая буква в слове "текстом" Вам непонятна, а?!
По теме — в названии поля есть "I", для обращения к этому полю в запросах возьмите его в двойные кавычки.
+1
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Roman
Да, через pg_trgm ищутся и сопоставляются различные строки произвольной длины (до 50 символов) , плюс транслитерация этих строк.
Благодарю за ответы! Видимо это просто так работает и либо стоит смириться, либо не использовать реляционки для этих целей.
> Видимо это просто так работает и либо стоит смириться

С чем "смириться", о чём Вы?!

> либо не использовать реляционки для этих целей.

Извните, но я один не понимаю, как Вам удалось сделать этот "вывод"?! ;(
источник

D

Dmitriy in pgsql – PostgreSQL
Dmitry Kudryavtsev
вот так выполнилось
Я бы советовал вместо camel-case везде underscore использовать
источник

DK

Dmitry Kudryavtsev in pgsql – PostgreSQL
Dmitriy
Я бы советовал вместо camel-case везде underscore использовать
так таблица автогенерится из typeorm
источник

DK

Dmitry Kudryavtsev in pgsql – PostgreSQL
Dmitriy
Я бы советовал вместо camel-case везде underscore использовать
или вы про "задать имя самому"?
источник

D

Dmitriy in pgsql – PostgreSQL
Dmitry Kudryavtsev
так таблица автогенерится из typeorm
Вообще TypeORM - довольно кастомизируемая штука. Наверняка имена столбцам можно вручную указывать
источник

DK

Dmitry Kudryavtsev in pgsql – PostgreSQL
Dmitriy
Вообще TypeORM - довольно кастомизируемая штука. Наверняка имена столбцам можно вручную указывать
да я фронт, поэтому туплю, извините - учусь... ) Т.е в insert нужно так же в двойные ковычки брать ?
источник

D

Dmitriy in pgsql – PostgreSQL
Dmitry Kudryavtsev
да я фронт, поэтому туплю, извините - учусь... ) Т.е в insert нужно так же в двойные ковычки брать ?
Везде, где вы обращаетесь к столбцу/таблице с camelCase, нужно двойные кавычки указывать. Но, опять-таки из-за этого удобней under_score - тогда можно не заморачиваться. Только если вы таблицу не назовёте как-нибудь зарезервированным словом.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Dmitry Kudryavtsev
да я фронт, поэтому туплю, извините - учусь... ) Т.е в insert нужно так же в двойные ковычки брать ?
в постгресе все имена (таблиц, полей и т.п.) приводятся к нижнему регистру, либо нужно брать в кавычки если регистр имеет значение.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
но рекомендуется конечно же нижний регистр использовать
источник