Size: a a a

pgsql – PostgreSQL

2020 August 18

S

SergejB in pgsql – PostgreSQL
MAdMAx
в логах?)
Ну да. А как ты в них достучишься, имея только portainer?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Andrey
что-то я попробовал на тесте так сделать и не помогло, все равно пользователь может создавать таблицы, делал такие действия
ALTER SCHEMA public OWNER TO postgres;
REVOKE ALL ON SCHEMA public FROM public;
GRANT CONNECT ON DATABASE stage_test TO andrey;
\c stage_test
GRANT USAGE ON SCHEMA public TO andrey;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO andrey;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO andrey;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON SEQUENCES TO andrey;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO andrey;


\dn+ после этого такой
public | postgres | postgres=UC/postgres | standard public schema
что-то не вяжется. после GRANT USAGE ON SCHEMA public TO andrey; в выводе \dn+ для public должно быть больше прав.
также с текущими правами пользователь не может даже читать из этой схемы.
источник

P

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

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

Я хочу вывести не весь message а +-10 символов от искомого 'ФЛП' чтобы понять контекст.
Помогите написать запрос
Используйте, например, substring(string from pattern), чтобы извлечь нужную подстроку.
Регулярка сама на ваш вкус, допустим:
.{10}ФЛП.{10}

Итого:
select substring(message from '.{10}ФЛП.{10}') from messages where message ilike '%ФЛП%'
источник

JS

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

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

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

JS

Jon Snow in pgsql – PostgreSQL
left(“abc”, 2) -> “ab”
источник

JS

Jon Snow in pgsql – PostgreSQL
Вроде так
источник

P

Petr in pgsql – PostgreSQL
Jon Snow
Или использовать left
Как я понял, необходимо понимать контекст именно вокруг "ФЛП", таким образом просто срез строки слева не подойдёт.
До этого могут идти, допустим, 100 символов другой "ерунды". Другое дело, что данный паттерн может встретиться неоднократно, но тут уже необходимо уточнить условия задачи :)
источник

JS

Jon Snow in pgsql – PostgreSQL
Ааа, ну если так, то регулярки
источник

JS

Jon Snow in pgsql – PostgreSQL
А ну да, он указал же, это я туплю
источник

P

Petr in pgsql – PostgreSQL
✋🏻
источник

A

Andrey in pgsql – PostgreSQL
Victor Yegorov
что-то не вяжется. после GRANT USAGE ON SCHEMA public TO andrey; в выводе \dn+ для public должно быть больше прав.
также с текущими правами пользователь не может даже читать из этой схемы.
я еще раз прошелся по командам, что выше кидал, сейчас \dn+ другой

public   | postgres | postgres=UC/postgres+| standard public schema
         |          | =UC/postgres        +|
         |          | andrey=U/postgres    |


но все равно пользователь может создавать таблицы в бд
источник

AO

Alexander Opryshko in pgsql – PostgreSQL
Всем привет! Подскажи, пожалуйста, может кто-то сталкивался с подобной проблемой
Есть кластер из 3х БД на patroni. К мастеру кластера подключена логическая реплика ХХХ через publication
В какой-то момент мастер переключился на другую ноду, слота логической репликации на новом мастере не было и реплика ХХХ сломалась
Вопрос: как правильно восстановить lag между мастером и репликой ХХХ?
источник

DE

Dmitry Erykin in pgsql – PostgreSQL
пересоздать реплику
источник

DE

Dmitry Erykin in pgsql – PostgreSQL
а чем не утраивает физический слот? patroni перевёз бы его сам
источник

AO

Alexander Opryshko in pgsql – PostgreSQL
Dmitry Erykin
а чем не утраивает физический слот? patroni перевёз бы его сам
Физическая репликация и другая версия постгры
источник

AO

Alexander Opryshko in pgsql – PostgreSQL
Dmitry Erykin
пересоздать реплику
А если база большая?
источник

DE

Dmitry Erykin in pgsql – PostgreSQL
ну тогда мучаться
источник

YS

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

МН

Михаил Н. in pgsql – PostgreSQL
Yaroslav Schekin
1. Можно просто подготовить больше partitions.
2. Можно сделать default partition, откуда время от времени переносить данные, по мере создания partitions. Это более "замороченный" вариант, конечно.
побольше не получится, не угадать, я планировал немного прозапас и п.2. А почему "замороченный"?! Есть нюансы не описанные в документации?
источник

YS

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