Репликация главного подчиненного с использованием WAL: Postgres uuid_generate_v4 () для генерации первичного ключа - PullRequest
0 голосов
/ 26 февраля 2019

Я создаю таблицу пользователей в postgres со следующей схемой:

CREATE TABLE users
(
    uuid character uuid COLLATE pg_catalog."default" NOT NULL DEFAULT uuid_generate_v4(),
    first_name character varying(100) COLLATE pg_catalog."default",

    CONSTRAINT agents_pkey PRIMARY KEY (uuid)
)

uuid - это первичный ключ типа uuid.Я использую uuid_generate_v4() для генерации значений uuid.

Сейчас я не использую Postgres в режиме репликации.
Но позже, когда я начну использовать репликацию (скорее всего, потоковую репликацию WAL), произойдет ли этоприводить к проблемам при добавлении реплик?
Похоже ли это на случай использования недетерминированных функций (time now ())?

Могут ли значения uuid различаться между мастером и репликой для одного и того же пользователя (не уверенесли uuid записан в WAL, я предполагаю, что его не следует записывать)?

Кроме того, как автоматически синхронизируются ключи приращения между главным и подчиненным устройствами, синхронизируется ли он путем воспроизведения / вставки строк втот же порядок, что и у мастера?

1 Ответ

0 голосов
/ 26 февраля 2019

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

Резервная копия потоковой репликации является физической копией первичной, и если hot_standby = on, вы можете установить read-only подключений.

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

Возможно, вы ищете что-то под названием «репликация с несколькими хозяевами», чтобы вы могли изменять данные на обоих серверах.PostgreSQL не предлагает решения для этого из коробки.

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

...