Size: a a a

pgsql – PostgreSQL

2020 August 18

🅵

🅵🅾️🆇 in pgsql – PostgreSQL
Значица оставлю автоинкримент и дополнительно построю индекс.
источник

МН

Михаил Н. in pgsql – PostgreSQL
Добрый день. Подскажите есть какое-то красивое решение аналог ораклового
create table table1 (.... , field_xxx bigint not null deferrable initially deferred ,  ....);
т.е. мне нужно чтоб check иди not null проверялся при коммите, а не сразу после insert/update?
источник

W

Warstone in pgsql – PostgreSQL
Есть
источник

МН

Михаил Н. in pgsql – PostgreSQL
Warstone
Есть
можно пример или ссылку где посмотреть?
источник

W

Warstone in pgsql – PostgreSQL
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Михаил Н.
Добрый день. Подскажите есть какое-то красивое решение аналог ораклового
create table table1 (.... , field_xxx bigint not null deferrable initially deferred ,  ....);
т.е. мне нужно чтоб check иди not null проверялся при коммите, а не сразу после insert/update?
Красивого нет.
"NOT NULL and CHECK constraints are not deferrable." © https://www.postgresql.org/docs/current/sql-createtable.html
Так что, наверное, триггеры (или вообще изменить подход... я лично не припомню, чтобы мне это было нужно, например)...
источник

МН

Михаил Н. in pgsql – PostgreSQL
это смотрел - "Currently, only UNIQUE, PRIMARY KEY, EXCLUDE, and REFERENCES (foreign key) constraints accept this clause. NOT NULL and CHECK constraints are not deferrable."
источник

W

Warstone in pgsql – PostgreSQL
Ну тогда действительно нет. Подождите следующую версию - будет
источник

МН

Михаил Н. in pgsql – PostgreSQL
Yaroslav Schekin
Красивого нет.
"NOT NULL and CHECK constraints are not deferrable." © https://www.postgresql.org/docs/current/sql-createtable.html
Так что, наверное, триггеры (или вообще изменить подход... я лично не припомню, чтобы мне это было нужно, например)...
триггер тоже сработает сразу. Я тоже редко это использую, но иногда оно очень нужно, когда сложный  поэтапный процесс заполнения данными. А "костылить" не очень хочется. Но и на этом спасибо.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Михаил Н.
триггер тоже сработает сразу. Я тоже редко это использую, но иногда оно очень нужно, когда сложный  поэтапный процесс заполнения данными. А "костылить" не очень хочется. Но и на этом спасибо.
Constraint trigger — нет (они могут работать так, как Вам нужно). См. https://www.postgresql.org/docs/current/sql-createtrigger.html
Но, скорее всего, легче изменить процесс, чем с этим связываться. ;)
источник

МН

Михаил Н. in pgsql – PostgreSQL
да, я тоже так думаю, может позже отрефакторю, когда это всё же реализуют 😊
источник

МН

Михаил Н. in pgsql – PostgreSQL
А кто-то уже с новыми партициями работал в нагруженных системах? есть какой-то адекватный способ создавать автоматически новые (по range) без триггеров? Только ради этого вешать триггер и терять в скорости очень не хочется. Понятно что можно сваливать в последнюю данные из далёкого будущего, а потом по расписанию её анализировать и строить новые с переносом из последней данных. Может есть что-то интересней?
источник

KT

Konstantin Tupitsin in pgsql – PostgreSQL
создавать по расписанию (pg agent)
создавать с помощью расширения типа pg_pathman, там вроде бы триггер, но реализация на c, а не  на pl
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Михаил Н.
А кто-то уже с новыми партициями работал в нагруженных системах? есть какой-то адекватный способ создавать автоматически новые (по range) без триггеров? Только ради этого вешать триггер и терять в скорости очень не хочется. Понятно что можно сваливать в последнюю данные из далёкого будущего, а потом по расписанию её анализировать и строить новые с переносом из последней данных. Может есть что-то интересней?
cron, например.
А вообще, смешивать DML и DDL в одной транзакции (вот эти триггеры, разве что они будут создавать partition именно для "[далёкого] будущего") нужно осторожно, IMHO.
источник

МН

Михаил Н. in pgsql – PostgreSQL
cron не поможет, они для штатных/ожидаемых данных ( ну т.е. ты сегодня подготовил партиции для данных, которые придут в ближайшие 2 месяца или с датой сейчас + 2 месяца) ... а тут внезапно внештатная группа +1 год пришла, такое редко бывает, но выкинуть их тоже нельзя, как нельзя заранее спрогнозировать и их объём.
источник

МН

Михаил Н. in pgsql – PostgreSQL
Konstantin Tupitsin
создавать по расписанию (pg agent)
создавать с помощью расширения типа pg_pathman, там вроде бы триггер, но реализация на c, а не  на pl
спасибо, посмотрю
источник

S

SergejB in pgsql – PostgreSQL
Enterprise PosgreSQL Docker Start Patterns - Plaintext Snippet - glot.io
https://glot.io/snippets/fqcxd96ywz
источник

S

SergejB in pgsql – PostgreSQL
Пытаюсь запусть в докере PgSQL. Папка /var/lib/pgsql маппится на volume который автоматически  смотирован свормом. Права rw. Сервер не запускается. Где искать проблемы?
источник

M

MAdMAx in pgsql – PostgreSQL
в логах?)
источник

М

Максим in pgsql – PostgreSQL
Ребята привет
Подскажите пожалуйста, провожу поиск в текстовом поле по типу

select message from messages where message ilike '%ФЛП%'

Я хочу вывести не весь message а +-10 символов от искомого 'ФЛП' чтобы понять контекст.
Помогите написать запрос
источник