1

Fehler ausführen:Kann nicht SQL-Abfrage auf Streaming-Replikation Setup-Master-Server Postgresql 9.5

postgres=# insert into company values(4,'tom',21,'pune' ,21); 
^CCancel request sent 
WARNING: canceling wait for synchronous replication due to user request 
DETAIL: The transaction has already committed locally, but might not have been         replicated to the standby. 
INSERT 0 1 

Auch nach dem Fehler er die Abfrage auf dem Master als auch die Replikation Transaktionen den Slave ausgeführt wird.

auf Master:

postgres=# SELECT pg_current_xlog_location(); 
pg_current_xlog_location 
-------------------------- 
0/1900D0C0 
(1 row) 

Auf Slave:

postgres=# SELECT pg_last_xlog_receive_location(); 
pg_last_xlog_receive_location 
------------------------------- 
0/1900D0C0 
(1 row) 

synchronous_standby_name setzen auf Master aus Config-Datei (von mir gesetzt) ​​unterscheidet sich von der application_name Ich sehe es in den Akten von pg_stats_replication Tabelle. Viele der Lösungen haben vorgeschlagen, den Anwendungsnamen zu ändern. Allerdings bin ich mir nicht sicher, von wo es Anwendungsname als Walreceiver auf dem Master nimmt.

auf Master:

postgres=# select application_name, sync_state from pg_stat_replication; 
application_name | sync_state 
------------------+------------ 
walreceiver  | async 
(1 row) 

postgres=# show synchronous_standby_names; 
synchronous_standby_names 
--------------------------- 
slave1 
(1 row) 

postgres=# show synchronous_commit; 
synchronous_commit 
-------------------- 
on 
(1 row) 

Einer der Lösung, die ich gefunden ist Tabellenverzeichnis unter dem Pfad ‚/var/lib/pgsql/9.2/data/‘ zu schaffen, die zur Zeit habe ich nicht. Ich bin nicht sicher, ob diese Lösung für 9.5 PostgreSQL funktioniert.

Jede Hilfe zu diesem wird geschätzt. Vielen Dank.

Antwort

Verwandte Themen