---
title: "Replikacja strumieniowa PostgreSQL z fizycznym slotem replikacji"
url: https://michalasobczak.pl/pl/posts/postgresql-streaming-replication-with-physical-replication-slot.html
author: "Michał Sobczak"
description: "Utwórz dedykowanego użytkownika do replikacji. Następnie dodaj fizyczny slot replikacji, aby zachować synchronizację z WAL."
published: 2025-01-24T11:52:44.000Z
updated: 2025-01-24T11:52:57.000Z
language: pl
categories: ["Other"]
tags: []
license: CC BY-NC-ND 4.0 (https://creativecommons.org/licenses/by-nc-nd/4.0/)
---
# Replikacja strumieniowa PostgreSQL z fizycznym slotem replikacji

Utwórz dedykowanego użytkownika do replikacji:

```text
CREATE ROLE replica WITH REPLICATION PASSWORD 'xxxYYYzzz' LOGIN;
```

Następnie dodaj fizyczny slot replikacji, aby zachować synchronizację z WAL. Bez niego, jeśli aplikowanie logów na replice będzie zbyt wolne, serwer główny może usunąć logi, których replika jeszcze nie skonsumowała, co doprowadzi do zerwania replikacji:

```text
select pg_create_physical_replication_slot('replica');
```

Następnie zatrzymaj serwer repliki i usuń folder PGDIR/VERSION/main. Rozpocznij kopiowanie:

```text
pg_basebackup -D /var/lib/postgresql/14/main -P --wal-method=stream -R --checkpoint=fast -U replica --slot=replica -W -h a.b.c.d
```

Wyrównaj rozbieżności w konfiguracji między serwerem głównym a repliką, takie jak limit połączeń, a następnie uruchom serwer repliki.

Aby sprawdzić status replikacji, uruchom na serwerze głównym:

```sql
 select * from pg_replication_slots;
```
