
Yaroslav
23.10.2018
11:15:30
ну есть бекапы)
То есть, все прочие базы в этом instance ещё менее важны, чем эта?

Alex
23.10.2018
11:16:29

Anatoly
23.10.2018
11:44:42
а можно как-то управлять последовательностью при старте реплики? не могу найти это в доке, но вроде было так:
1. Локальные валы
2. Архив
3. Стриминг
4. В случае проблем в 1-3, перейти к 1.

Lestat -
23.10.2018
12:23:00
друзья, как реализовать приоритет доступа для пользователей?
вот например сижу я с васей на базе в которой макс коннекшн = 2))) но приходит петя и сбрасывает меня

Google

Сергей
23.10.2018
12:25:30
Какой-то connection pool заюзать
Например pgbouncer
У яндекса еще че-тотновое есть, но баунсера хватит для вашей задачи

Lestat -
23.10.2018
12:26:17
Например pgbouncer
он лишь оптимизирует время на коннекшн судя по доке, или нет?
по опциям никаких приоритетов я в нём не нашёл

Сергей
23.10.2018
12:27:06
Ну он будет два коннекта держать в посгре, а наружу несколько отдавать, и сам это разруливать
А какие конкретно приоритеты нужны?

Lestat -
23.10.2018
12:28:23
А какие конкретно приоритеты нужны?
клиенты всегда могут зайти, даже если кто-то накосячил с crontab'ом и забил все коннекты
и например у клиентов логин client, который указан в приложениях

Илья
23.10.2018
12:32:55
подскажите, можно ли в PG как-нибудь получить статистику по наиболее используемому запросу в БД? или хотя бы наиболее часто используемую таблицу

Сергей
23.10.2018
12:34:17
юзеров в постгре я имею в виду

Lestat -
23.10.2018
12:34:47

Andrei
23.10.2018
12:36:58
Выше спрашивали про логическую репликацию
За последние три месяца переехали с помощью ее на 10.5 с 9.5 с минимальным доунтаймом

Google

Сергей
23.10.2018
12:39:44

Mike Chuguniy
23.10.2018
12:41:30

Andrei
23.10.2018
12:41:57
12 схем
Таблиц больше 1000
Но их так много из-за секционирования
Понедельного
Сейчас дополнительно некоторые таблицы логически реалий руются на отдельные сервера
Логическая репликация умеет клонировать структуру схем со всеми обьектами
Но ручками нужно поработать для первичной инициализации данных

Yaroslav
23.10.2018
12:44:57

Andrei
23.10.2018
12:45:06
Может оно и автоматом умеет это делать, но у нас базы - десятки террабайт

elfiki
23.10.2018
12:54:28
пацаны
есть две базы: одна на 10.5, вторая 9.6
данные в них почти одинаковые (с 9.6 на 10.5 переносил пару недель назад полностью все)
есть таблица с примерно 40к записей в ней есть поле city_id
по нему есть индекс
в одной базе индекс при скане не используется: https://explain.depesz.com/s/HoaS
во второй при том же используется: https://explain.depesz.com/s/4cEJ

Frank
23.10.2018
12:59:37
Подскажите , а есть сообщество по Postgresql в slack ?

elfiki
23.10.2018
13:01:12

Andrei
23.10.2018
13:03:43
40 к записей не такой большой обьем, чтобы тратиться на сканирование индекса, а потом поиск записи по турплу…
а в целом вводных данных мало…
может у вас там таблица раздута вхлам

elfiki
23.10.2018
13:05:23
places | таблица | 39 MB |

Yaroslav
23.10.2018
13:15:57

Google

elfiki
23.10.2018
13:19:42

Alex
23.10.2018
13:20:55
статистику пересобрать попробуйте

Yaroslav
23.10.2018
13:21:34
Может, *_enable разные?
> (с 9.6 на 10.5 переносил пару недель назад полностью все)
А как Вы переносили?

elfiki
23.10.2018
13:22:34

Sergey
23.10.2018
13:23:39
12 схем
руками, вы имеете в виду первично c pg_dump -s схемы восстанавливали и создавали публикации/подписки в каждой БД или что-то еще?

elfiki
23.10.2018
13:24:08

Lestat -
23.10.2018
13:25:54

Сергей
23.10.2018
13:26:05

elfiki
23.10.2018
13:26:47

Сергей
23.10.2018
13:27:19
Видимо статистика не собрана

Sergey
23.10.2018
13:29:26
12 схем
и что вы имели в виду, когда написали:
Логическая репликация умеет клонировать структуру схем со всеми обьектами ???
можно ссылку?

Andrei
23.10.2018
13:32:01
https://www.2ndquadrant.com/en/resources/pglogical/pglogical-docs/
>> synchronize_structure
ищите по тексту

Sergey
23.10.2018
14:01:16

Andrei
23.10.2018
14:02:31
все манипулации апи идут через родительскую таблицу
первичные данные заливали через через copy на уровне партиций

Yaroslav
23.10.2018
14:37:12

elfiki
23.10.2018
14:39:09

Сергей
23.10.2018
14:40:29

Google

elfiki
23.10.2018
14:41:13
ну ок, разное поведение, хотя меня смущает что на виртуалке работает запрос быстрее, чем на нормальном серваке с ссд и всем таким...

Сергей
23.10.2018
14:41:48

Yaroslav
23.10.2018
14:42:08

Алексей
23.10.2018
14:42:13
добрый день, из за чего может возникать такая ошибка внутри транзакции SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block The SQL being executed was: SELECT * FROM "items" WHERE "id"=79731 ?

Darafei
23.10.2018
14:42:13

Yaroslav
23.10.2018
14:43:44

Darafei
23.10.2018
14:45:07

Yaroslav
23.10.2018
14:46:25

pew
23.10.2018
16:41:13
ребят, погуглил немног, но хочу тут спросить, как правильнее для поля bytea DEFAULT прописать? что бы потом не было гемора с массивами со свякими эскейпами и прочим
мне дефолтное вообще пойдет 0 элементов
щя таблицу буду создавать
{} норм будет? просто скажите да нет

Yaroslav
23.10.2018
16:54:30

pew
23.10.2018
16:54:58
что бы не налл было

Yaroslav
23.10.2018
16:55:35

pew
23.10.2018
16:55:50
окей, пусть не массив, как мне дефолтное значение поставить?

Gennady
23.10.2018
16:55:52
Пустая строка ''::bytea, но зачем?

pew
23.10.2018
16:56:24
data bytea NOT NULL DEFAULT {}
что вместо {}

Google

pew
23.10.2018
16:56:44
я про это

Gennady
23.10.2018
16:57:23
а чем Вам null не угодил и почему решили взять именно bytea ?

pew
23.10.2018
16:59:28

Yaroslav
23.10.2018
16:59:54

pew
23.10.2018
17:00:09
CREATE TABLE quest_slot_base
(
idc BIGINT NOT NULL DEFAULT nextval('idc_seq' :: REGCLASS),
data bytea NOT NULL DEFAULT ''
)
вот так в общем да?

Yaroslav
23.10.2018
17:03:35

pew
23.10.2018
17:04:03
спасибо

Gennady
23.10.2018
17:05:02
ну мне надо именно такой тип данных
Вы просто пишете, чтобы не было "гемора с массивами со свякими эскейпами и прочим". Но если используемая Вами клиентская библиоткета не умеет bytea, то он будет.

pew
23.10.2018
17:05:23
npgsql для шарпа
а могу занести значение стартовое? типа 1
2

Gennady
23.10.2018
17:20:10
https://postgrespro.ru/docs/postgrespro/10/datatype-binary
E'\\001'::bytea

pew
23.10.2018
17:21:36
спс щя попробую
ERROR: invalid input syntax for type bytea
LINE 1: INSERT INTO quest_slot_008 (idc, data) VALUES (1,E'\\008'::b...
^
QUERY: INSERT INTO quest_slot_008 (idc, data) VALUES (1,E'\\008'::bytea)
CONTEXT: PL/pgSQL function inline_code_block line 24 at EXECUTE
SQL state: 22P02

Yaroslav
23.10.2018
17:31:13
Это вообще дичь. Bytea стоит использовать, если базе его структура и содержимое безразличны.
А иначе Вы это зря.

pew
23.10.2018
17:31:35

Yaroslav
23.10.2018
17:31:39
Кстати, что это у Вас там за INHERITS, зачем он?

pew
23.10.2018
17:31:50