@pgsql

Страница 1055 из 1062
Darafei
24.10.2018
11:33:01
но может есть ещё что-то хорошее? )
вообще, агрессивный вакуум должен бы сделать так, чтобы всё было уже провакуумлено к моменту каунта, и тогда heap fetches должен обнулиться - всё проверится по индексу

по индексу и visibility map

надо смотреть, почему у вас visibility map не замораживается

Yaroslav
24.10.2018
11:34:10
Жёсткие методы) Думаю, что отдельный индекс нам даст сравнимые цифры производительности всего запроса.
Вы не думайте, Вы попробуйте (если есть желание). ;) (Я подразумевал, что id — это serial PRIMARY KEY или что-то подобное.)

Google
Yaroslav
24.10.2018
11:37:32
надо смотреть, почему у вас visibility map не замораживается
Потому что идут постоянные INSERT-ы/UPDATE-ы, очевидно.

Darafei
24.10.2018
11:38:32
Потому что идут постоянные INSERT-ы/UPDATE-ы, очевидно.
так ради бога, надо, чтобы вакуум за ними успевал замораживать

Yaroslav
24.10.2018
11:39:21
так ради бога, надо, чтобы вакуум за ними успевал замораживать
Он всё равно будет на сколько-то отставать при постоянной нагрузке, без вариантов. :(

Darafei
24.10.2018
11:40:14
хотя, блин, если апдейты, то там же будут мёртвые строки копиться и визибилити не будет

@nikolaisemenov сделайте так, чтобы апдейтов не было :) и пока что можно переписать табличку, например, через CLUSTER; VACUUM;

Nikolai
24.10.2018
11:42:22
Жёсткий совет про апдейты)

надо смотреть, почему у вас visibility map не замораживается
я только на битость проверил: SELECT oid::regclass AS relname FROM pg_class WHERE relkind IN ('r', 'm') AND ( EXISTS (SELECT * FROM pg_check_visible(oid)) OR EXISTS (SELECT * FROM pg_check_frozen(oid))); с этим всё ок

bebebe
24.10.2018
11:53:26
коллеги, я что-то подтупливаю, а разве можно подлкючиться через SSL к удаленному постгресу, имея на руках только .crt ? без ключа, вижу в опциях клиента verify-ca... этого может быть достаточно? извините за формулировку

Nikolai
24.10.2018
11:53:39
надо смотреть, почему у вас visibility map не замораживается
есть какие-то инструменты диагностики может?

Darafei
24.10.2018
11:54:46
есть какие-то инструменты диагностики может?
https://www.postgresql.org/docs/11/static/pgvisibility.html

задача - сделать так. чтобы как можно больше страниц было all visible

Google
bebebe
24.10.2018
11:57:55
видимо, да, может ## Whether or not to use SSL. [disable|require|verify-ca|verify-full]
ну и в догонку https://www.postgresql.org/docs/9.0/static/libpq-ssl.html

Yaroslav
24.10.2018
12:00:51
есть какие-то инструменты диагностики может?
Может, Вы всё-таки попробуете индекс? Это хоть покажет Вам, каков "потолок", к которому можно стремиться...

Nikolai
24.10.2018
12:01:52
Может, Вы всё-таки попробуете индекс? Это хоть покажет Вам, каков "потолок", к которому можно стремиться...
попробую, но поздно вечером, когда будет поменьше нагрузки сейчас всё-таки примерно 80% от пиковой нагрузки суток летит..

Yaroslav
24.10.2018
12:03:39
попробую, но поздно вечером, когда будет поменьше нагрузки сейчас всё-таки примерно 80% от пиковой нагрузки суток летит..
Я к тому, что если то, что получится, Вас всё равно категорически не устроит, все эти "танцы" с индексами нужно бросать, и начинать думать о чём-то совершенно другом...

Terminator
24.10.2018
12:08:25
@shmykyta будет жить. Поприветствуем!

Nikolai
24.10.2018
12:08:45
просто этот конкретный каунт всплыл в отчете баджера в топ по времени)

Nikita
24.10.2018
12:09:06
ребят до 11 обновлялись ? есть подводные камни?

Yaroslav
24.10.2018
12:10:07
Проблема в том что таких COUNT раскидано по приложению немало и нужно общее правильное решение придумывать
А зачем они там вообще, эти COUNT-ы? Может, их можно убрать / заменить на что-то другое?

Nikolai
24.10.2018
12:11:17
А зачем они там вообще, эти COUNT-ы? Может, их можно убрать / заменить на что-то другое?
это хороший вопрос обычно разработчики их лепят для отображения номера последней страницы в пагинации (sic!)

Yaroslav
24.10.2018
12:12:27
это хороший вопрос обычно разработчики их лепят для отображения номера последней страницы в пагинации (sic!)
Ну и ну... с этим "малой кровью" вряд ли что-то получится сделать, мне кажется. :(

Nikolai
24.10.2018
12:13:36
Ну и ну... с этим "малой кровью" вряд ли что-то получится сделать, мне кажется. :(
я на малую кровь особо и не рассчитываю уже - на 150М sql-запросах в сутки все серьёзные косяки уже вылезли, все простые решения уже опробованы

я так подозреваю)

Alex
24.10.2018
12:18:29
Yaroslav , добрый день, я тут все со своей логической репликацией и переездом мастера появилась мысль такая, что мы на старом мастере для конкретного слота находим LSN для его точки, на которой он остановился и вопрос, как-то можно сопоставить этот LSN со старого мастера, с LSN'ом нового мастера? ну чтобы создать слот и указать ему, что он остановился вот на этом новом LSN'е

Alex
24.10.2018
12:20:51
Может, я торможу, но LSN-ы серверов вообще никак не связаны при логической репликации, нет?
да, не связаны, в этом собственно и вопрос, как LSN старого мастера сопоставить с LSN нового) LSN, я как понимаю, это просто указать в WAL'е конкретной инструкции, так?

соответственно для репликации все инструкции будут одинаковые (реплицируются одни и те же таблицы без каких-либо примесей и дополнительной логики), просто каждый сервер ведет свой wal

Yaroslav, есть мысли?)

Yaroslav
24.10.2018
12:33:52
Yaroslav, есть мысли?)
Так они в самом деле никак друг с другом не связаны... Вот, например, даже сопоставили Вы LSN (что уже фантастично)... а дальше-то что?

Alex
24.10.2018
12:34:44
Так они в самом деле никак друг с другом не связаны... Вот, например, даже сопоставили Вы LSN (что уже фантастично)... а дальше-то что?
ну дальше я создаю на новом мастере слот, проставляю ему нужный LSN и подключаю слейв, и новый мастер на этот слейв сам накатывает все инструкции, логика такая, не?)

Google
Yaroslav
24.10.2018
12:52:17
ну дальше я создаю на новом мастере слот, проставляю ему нужный LSN и подключаю слейв, и новый мастер на этот слейв сам накатывает все инструкции, логика такая, не?)
Хмм... ладно, временно отодвинем "теорию" в сторону. > проставляю ему нужный LSN Вот этот момент Вы как собираетесь реализовывать (покажете хоть один конретный способ?)?

Вадим
24.10.2018
13:09:33
а подскажите пожалуйста, функции в пг апдейтить только овнер может? я делаю grant all on all functions in schema SCHEMA_NAME to USER пытаюсь сделать апдейт а мне говорит нельзя ты не овнер

Yaroslav
24.10.2018
13:11:46
Alex
24.10.2018
13:12:06
Ну вот этому подходу и конец, собственно. ;)
и что предлагается?) велосипедить?)

Вадим
24.10.2018
13:15:59
я не понимаю почему происходит попытка овнера сменить, если я просто в самой функии что то меняю ALTER FUNCTION documents.decode(character varying, character varying, character varying, character varying) OWNER TO USER; это пгадмин так делает или оно так и должно рабоать?)

это в логах что я вижу

Yaroslav
24.10.2018
13:17:35
и что предлагается?) велосипедить?)
Ну да. ;) А то это "решение" (даже если бы оно было возможно каким-то волшебным образом) было бы не велосипедом, можно подумать...

Alex
24.10.2018
13:20:21
Ну да. ;) А то это "решение" (даже если бы оно было возможно каким-то волшебным образом) было бы не велосипедом, можно подумать...
ну со стороны выглядит всё логично жи =( мы просто передаем со старого мастера новому мастеру LSN, на котором остановился слейв, новый мастер брал тот LSN и сопоставлял его со своим LSN и подключал к себе слейв уже со своим LSN =)

Yaroslav
24.10.2018
13:22:29
Alex
24.10.2018
13:22:43
ну это да, это нештатная ситуация) тогда мы всё транкейтим и накатываем заново снуля :D

Lestat -
24.10.2018
13:30:05
коллеги, помогите мигрировать с 10 на 11 не могу развернуть бэкап, есть какие-то способы ?

Yaroslav
24.10.2018
13:33:45
коллеги, помогите мигрировать с 10 на 11 не могу развернуть бэкап, есть какие-то способы ?
Да, есть. Описаны в документации. Если есть конкретные ошибки / вопросы — показывайте / задавайте.

Yaroslav
24.10.2018
13:47:59
не смог найти, можно ссылку?
https://www.postgresql.org/docs/current/static/upgrading.html

Lestat -
24.10.2018
13:52:35
https://www.postgresql.org/docs/current/static/upgrading.html
идея в том чтобы поднять версию на текущем сервере, сдампить и развернуть на новом?

Yaroslav
24.10.2018
13:55:00
идея в том чтобы поднять версию на текущем сервере, сдампить и развернуть на новом?
Откуда мне знать, какая у Вас идея? ;) Вот там существующие методы, в их рамках Вы можете делать всё, что хотите.

Lestat -
24.10.2018
13:56:41
ситуация такая: есть два отдельных сервера, на одном установлена 10-я версия, на другом 11-я, нужно развернуть бэкап с текущей 10-ки на 11-ю, но psql -f возвращает ошибки: psql:spy_backup:11329: invalid command \N psql:spy_backup:11330: invalid command \N psql:spy_backup:11331: invalid command \N psql:spy_backup:11332: invalid command \N psql:spy_backup:11333: invalid command \N psql:spy_backup:11334: invalid command \N psql:spy_backup:116944: invalid command \. psql:spy_backup:116947: invalid command \. psql:spy_backup:116951: invalid command \.

Google
Lestat -
24.10.2018
13:59:17
привык с mssql называть бэкапом) а вообще в документации к pg_dump это называтся бэкапированием дамп снял вот так: pg_dump -h localhost -O -C -F t -c -U postgres spy | gzip -c > spy_backup.gz такой метод нагуглил, посмотрел что означают ключики и решил что это подходящий способ

Terminator
24.10.2018
14:02:16
@sadt68 будет жить. Поприветствуем!

Yaroslav
24.10.2018
14:02:35
привык с mssql называть бэкапом) а вообще в документации к pg_dump это называтся бэкапированием дамп снял вот так: pg_dump -h localhost -O -C -F t -c -U postgres spy | gzip -c > spy_backup.gz такой метод нагуглил, посмотрел что означают ключики и решил что это подходящий способ
> привык с mssql называть бэкапом) К чему это Вы привыкли? ;) (В MS SQL тоже есть дампы, но снимаются они совершенно по-другому, кстати.) > такой метод нагуглил, посмотрел что означают ключики и решил что это подходящий способ Ага, то есть документацию Вы проигнорировали. "Не взлетит". И поделом, я считаю.

Yaroslav
24.10.2018
14:05:43
в документации pg_dump называется бекапированием и пишут что она делает бекап базы https://www.postgresql.org/docs/11/static/app-pgdump.html
Я уже высказывался по этому поводу (и даже не раз, как мне помнится). Но я пишу о том, что документацию про upgrade Вы проигнорировали, нет?

Lestat -
24.10.2018
14:06:12
Я уже высказывался по этому поводу (и даже не раз, как мне помнится). Но я пишу о том, что документацию про upgrade Вы проигнорировали, нет?
про upgrade - да ибо в доке к pg_dump по upgrade нашел только --binary-upgrade который не рекомендуется (как я понял)

Lestat -
24.10.2018
14:10:34
сейчас добавил по совету -v ON_ERROR_STOP=1 но попал на след. ошибку

Mike Chuguniy
24.10.2018
14:12:41
pg_dump надо использовать того сервера, НА КОТОРЫЙ будет этот дамп накатываться. Вот и всё

Grigory
24.10.2018
14:13:02
--format t предполагает использование pg_restore при восстановлении

Mike Chuguniy
24.10.2018
14:13:54
Т.е. если oldsrv - это 10-ка, а newsrv - это 11-й, то pg_dump надо запускать на newsrv и дампить базу с oldsrv

Lestat -
24.10.2018
14:14:18
Я Вам какую сслыку давал, а?
дамп делался до твоей ссылки и после изучения док-и по pg_dump

Mike Chuguniy
24.10.2018
14:15:57
да, сдампить базу с 10-ки и развернуть на 11
А вы, судя по описанию и проблемам, pg_dump запускали на oldsrv. А надо - на newsrv и дампить базу с oldsrv

Alex
24.10.2018
14:26:04
Yaroslav, https://www.postgresql.org/docs/10/static/app-pgrecvlogical.html вот тут есть заманчивый параметр -I, судя по описанию, это то, что мне нужно, но у меня что-то не получилось это завести, есть какие-то коментарии?)

Yaroslav
24.10.2018
14:27:12
да, сдампить базу с 10-ки и развернуть на 11
Ну так прочитайте правильную, делов-то. Там всё, что Вам сейчас советуют, просто написано чёрным по белому.

Google
Lestat -
24.10.2018
14:40:19
всем спасибо, задача решилась выгрузкой дампа с раширением файла —format=p, вместо t

Павел
24.10.2018
14:47:38
Народ есть тут кто JPA юзает?

Hibernate

Андрей
24.10.2018
14:49:33
в чистом виде?

Yaroslav
24.10.2018
14:55:13
Yaroslav, https://www.postgresql.org/docs/10/static/app-pgrecvlogical.html вот тут есть заманчивый параметр -I, судя по описанию, это то, что мне нужно, но у меня что-то не получилось это завести, есть какие-то коментарии?)
Так слот-то всё равно должен быть заранее. А если я правильно понял Вашу схему, это значит, что такой слот должен быть на всех "slave"-ах, которые потенциально могут стать "master". А это "прощай, WAL rotation!", ENOSPACE и вот это вот всё. :(

Павел
24.10.2018
14:59:42
в чистом виде?
Кароче жопа полная. Сервер должен работать с двумя базами. Оракл и постгрес. Запускаю на оракле все норм. Запускаю га постгрес все падает. Тюню для постгреса и все работает но оракл падает. Начиная с BLOB и продолжая датами бигдецемалами и тд

Mike Chuguniy
24.10.2018
15:00:15
а подскажите пожалуйста, функции в пг апдейтить только овнер может? я делаю grant all on all functions in schema SCHEMA_NAME to USER пытаюсь сделать апдейт а мне говорит нельзя ты не овнер
Начну с терминологии. Вы не апдейтите функции, вы пытаетесь раздать права. Это совершенно разные вещи. И да, давать/отбирать права может либо владелец, либо суперпользователь.

Вадим
24.10.2018
15:04:14
Начну с терминологии. Вы не апдейтите функции, вы пытаетесь раздать права. Это совершенно разные вещи. И да, давать/отбирать права может либо владелец, либо суперпользователь.
не не не, в том то и дело я захожу не под овнером, пытаюсь сделать изменить саму функцию через пгадмин а в логах вижу что CREATE REPLACE FUNCTION..... а затем ALTER FUNCTION вот и не понимаю, это пгадмин пытается овнера изменить получается? тогда вопрос зачем он это делает?

Yaroslav
24.10.2018
15:05:48
я сейчас хотя бы вообще пытаюсь создать слот с конкретным LSN, а у меня этого не получается(
Так я именно об этом Вам и писал! :( Ещё вот тут: https://t.me/pgsql/105439

Alex
24.10.2018
15:07:47
Так я именно об этом Вам и писал! :( Ещё вот тут: https://t.me/pgsql/105439
ну... pg_recvlogical --start --slot 'my_slot' --startpos='0/1111111' как-то так

Yaroslav
24.10.2018
15:08:26
ну... pg_recvlogical --start --slot 'my_slot' --startpos='0/1111111' как-то так
Ну а попробуйте поставить LSN меньше, чем LSN слота.

Страница 1055 из 1062