Size: a a a

pgsql – PostgreSQL

2021 February 08

AL

Alexey Lesovsky in pgsql – PostgreSQL
скорей всего user time, т.к. постройка индекса оно обычно в проц упирается... сортировка же
источник

b

blkmrkt in pgsql – PostgreSQL
Alexey Lesovsky
скорей всего user time, т.к. постройка индекса оно обычно в проц упирается... сортировка же
Linux 4.15.0-29-generic (b05)   02/08/2021      _x86_64_        (24 CPU)

06:26:08 AM   UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
06:26:08 AM  1000      5456    0.30    0.00    0.00    0.00    0.31     9  postgres


Вот такое вот показывает, а CPU почему-то каждый раз новый. Почему он с ядра на ядро прыгает, это нормально?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
запустите так pidstat -u -p 5456 1
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
blkmrkt
Ох блин, копирую я таблицу email_address, и оказывается что оно обновляет индекс ix_email_address_domain_id! Разве COPY это должен делать? Или оно COPY только на стороне отправителя, а на логическую реплику оно прилетает в виде единичных операций внутри гигантской трансакции?
> Разве COPY это должен делать?

Разумеется. Любой COPY делает это, и вообще любая обычная запись.
COPY быстр только за счёт того, что у него overhead на обработку входных данных куда меньше, чем у других методов, вот и всё. ;)
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
то что прыгает это ок, это планировщик ядра так планиирует работу процессов в многозадачной ОС
источник

b

blkmrkt in pgsql – PostgreSQL
Alexey Lesovsky
запустите так pidstat -u -p 5456 1
во
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
ну вот да, user time в полку, соотв. и читает с диска мало потому что некогда ))) надо вычисления вычислять
источник

b

blkmrkt in pgsql – PostgreSQL
Yaroslav Schekin
> Разве COPY это должен делать?

Разумеется. Любой COPY делает это, и вообще любая обычная запись.
COPY быстр только за счёт того, что у него overhead на обработку входных данных куда меньше, чем у других методов, вот и всё. ;)
Мне казалось что например импорт бекапа обычно сначала закидывает данные, и только потом создает индексы. Таким образом, в среднем по больнице, при построении индекса лучше сохраняется локальность кеша того что там фактически индексируется.
источник

b

blkmrkt in pgsql – PostgreSQL
Ну при импорте бекапа я понимаю что это pg_dump выкладывает команды в определенной последовательности, но с логической репликацией DDL мы делаем сами. Все понятно 🙂
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
вы наверно когда переносили схему таблицы, сразу и индексы создались (пустые), так вот при copy они также и наполняются...

а при ресторе из бэкапа, данные люьтся в пустую таблицу без индексов. и только потом индексы строятся уже отдельно
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
blkmrkt
Мне казалось что например импорт бекапа обычно сначала закидывает данные, и только потом создает индексы. Таким образом, в среднем по больнице, при построении индекса лучше сохраняется локальность кеша того что там фактически индексируется.
> например импорт бекапа обычно сначала закидывает данные

Дампа, в смысле? Да, но только потому, что в дампе явно написано примерно следующее:
CREATE TABLE x(...);
COPY x FROM ...
CREATE INDEX x_index_1 ON x (...);
CREATE INDEX x_index_2 ON x (...);
...
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
blkmrkt
Ну при импорте бекапа я понимаю что это pg_dump выкладывает команды в определенной последовательности, но с логической репликацией DDL мы делаем сами. Все понятно 🙂
Да, не стоило все индексы сразу создавать, скорее всего.
Хватило бы и таблицы / replica identity index, а уж после можно было бы создать остальные, так было бы быстрее.
источник

b

blkmrkt in pgsql – PostgreSQL
Yaroslav Schekin
> например импорт бекапа обычно сначала закидывает данные

Дампа, в смысле? Да, но только потому, что в дампе явно написано примерно следующее:
CREATE TABLE x(...);
COPY x FROM ...
CREATE INDEX x_index_1 ON x (...);
CREATE INDEX x_index_2 ON x (...);
...
Угу, вот я это и имел ввиду. Все понятно, теперь при таких маневрах буду делать DDL вручную и добавлять индексы только после изначальной COPY.
источник

АШ

Александр Шихов... in pgsql – PostgreSQL
Доброго дня. Я случайно восстановил базу из sql-дампа два раза, и данные задвоились. Есть ли какой то способ это исправить?
источник

LS

Lilo Stich in pgsql – PostgreSQL
Коллеги, обязательно ли держать одинаковыми конфиги MASTER AND SLAVE ? Кроме той части которая за репликацию отвечает.
источник

R

Riannon in pgsql – PostgreSQL
Lilo Stich
Коллеги, обязательно ли держать одинаковыми конфиги MASTER AND SLAVE ? Кроме той части которая за репликацию отвечает.
только ряд параметров обязательны, в остальном нет
источник

LS

Lilo Stich in pgsql – PostgreSQL
Riannon
только ряд параметров обязательны, в остальном нет
А я могу логирование log_statement=all сделать только на Slave ?
источник

R

Riannon in pgsql – PostgreSQL
Lilo Stich
А я могу логирование log_statement=all сделать только на Slave ?
вполне
источник

LS

Lilo Stich in pgsql – PostgreSQL
Чтобы на мастере диски не забились
источник

LS

Lilo Stich in pgsql – PostgreSQL
Riannon
вполне
Спасибооо! Пойду херачить прод слейв))))
источник