Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
PostgreSQL
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Replication === PostgreSQL includes built-in binary replication based on shipping the changes ([[write-ahead logging|write-ahead logs]] (WAL)) to replica nodes asynchronously, with the ability to run read-only queries against these replicated nodes. This allows splitting read traffic among multiple nodes efficiently. Earlier replication software that allowed similar read scaling normally relied on adding replication triggers to the master, increasing load. PostgreSQL includes built-in synchronous replication<ref name="H Online" /> that ensures that, for each write transaction, the master waits until at least one replica node has written the data to its transaction log. Unlike other database systems, the durability of a transaction (whether it is asynchronous or synchronous) can be specified per-database, per-user, per-session or even per-transaction. This can be useful for workloads that do not require such guarantees, and may not be wanted for all data as it slows down performance due to the requirement of the confirmation of the transaction reaching the synchronous standby. Standby servers can be synchronous or asynchronous. Synchronous standby servers can be specified in the configuration which determines which servers are candidates for synchronous replication. The first in the list that is actively streaming will be used as the current synchronous server. When this fails, the system fails over to the next in line. Synchronous [[multi-master replication]] is not included in the PostgreSQL core. Postgres-XC which is based on PostgreSQL provides scalable synchronous multi-master replication.<ref name="Postgres-XC" /> It is licensed under the same license as PostgreSQL. A related project is called [[Postgres-XL]]. Postgres-R is yet another [[Fork (software development)|fork]].<ref name=postgres-r /> Bidirectional replication (BDR) is an asynchronous multi-master replication system for PostgreSQL.<ref name=bdr /> Tools such as repmgr make managing replication clusters easier. Several asynchronous trigger-based replication packages are available. These remain useful even after introduction of the expanded core abilities, for situations where binary replication of a full database cluster is inappropriate: * [[Slony-I]] * Londiste, part of SkyTools (developed by [[Skype]]) * Bucardo multi-master replication (developed by [[Backcountry.com]])<ref name="Fischer" /> * [[SymmetricDS]] multi-master, multi-tier replication
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)