<link href = "// fonts.googleapis.com/css?family=Roboto+Slab:700%7CRoboto:700%7CRoboto:normal" rel = "stylesheet">

Databázový systém: PostgreSQL replikace na Ubuntu 16.04


PostgreSQL databázový systém

PostgreSQL je pokročilý otevřený zdroj objektově-relační databázový systém (nebo ORDBMS). Jedná se o rozšiřitelný a vysoce škálovatelný databázový systém, což znamená, že může zpracovávat zátěže od aplikací s jedním strojem až po podnikové webové služby s mnoha souběžnými uživateli. PostgreSQL je transakční a kompatibilní s ACID (Atomicity, Consistency, Isolation, Durability).

Podporuje velkou část standardu SQL a nabízí mnoho funkcí včetně:

  • Komplexní dotazy
  • Cizí klíče
  • Triggery
  • Aktualizovatelné pohledy
  • Transakční integrita
  • Kontrola souběžnosti multiverse

Jak již bylo řečeno, databázový systém PostgreSQL může být rozšířen o své uživatele. Existují různé způsoby, jak to udělat, jako je přidání nových funkcí, operátorů, datových typů, indexových metod, procedurální jazyky, Etc.

Je vyvíjen PostgreSQL Globální rozvojovou skupinou a vydáván za podmínek Licence PostgreSQL.

PostgreSQL poskytuje mnoho způsobů, jak replikovat databázi. v tomto tutoriálu nakonfigurujeme replikaci Master / Slave, což je proces synchronizace dat mezi dvěma databázemi kopírováním od databázi na serveru (master) na jednu na jiném serveru (slave).

Tato konfigurace bude provedena na serveru se systémem Ubuntu 16.04.

Předpoklady

PostgreSQL 9.6 je nainstalován na serverech Ubuntu 16.04

Nakonfigurujte UFW

UFW (nebo Uncomplicated Firewall) je nástroj pro správu firewallu založeného na iptables v systémech Ubuntu. Nainstalujte jej (na obou serverech) Prostřednictvím nakloněný provedením:

# apt-get install -y ufw

Poté přidejte službu PostgreSQL a SSH do brány firewall. Chcete-li to provést, proveďte:

# ufw povolit ssh # ufw povolit postgresql

Aktivace brány firewall:

# ufw enable

Nakonfigurujte hlavní server PostgreSQL

Hlavní server bude mít oprávnění ke čtení a zápisu do databáze a bude schopen provádět datové přenosy na podřízený server.

Pomocí textového editoru upravte hlavní konfigurační soubor PostgreSQL, který je /etc/postgresql/9.6/main/postgresql.conf:

# $ EDITOR /etc/postgresql/9.6/main/postgresql.conf

Odkomentujte listen_addresses line a upravit přidání IP adresy hlavního serveru:

listen_addresses = 'master_server_IP_address'

Dále odkomentujte wal_level line změna jeho hodnoty:

wal_level = hot_standby

Chcete-li použít synchronizaci na úrovni synchronizace, odkomentujte a upravte následující řádek:

synchronous_commit = místní

Používáme dva servery, takže odkomentujte a upravte dva řádky takto:

max_wal_senders = 2
wal_keep_segments = 10

Uložte a zavřete soubor.

Upravit pg_hba.conf souboru pro konfiguraci ověřování.

# $ EDITOR /etc/postgresql/9.6/main/pg_hba.conf
Vložte následující konfiguraci: # Replikační replikační replikace lokální hostitele 127.0.0.1 / 32 md5 # PostgreSQL Replikační replikační replikační replika Master Master IP_address / 32 md5 # PostgreSQL SLave IP replikační replika repliky replice slave_IP_address / 32 md5

Uložit, ukončit a restartovat PostgreSQL:

# systemactl restart postgresql

Vytvořte uživatele pro replikaci

Vytvořte nového uživatele služby PostgreSQL pro proces replikace. Přihlaste se k účtu postgres uživatel a spustit prostředí PostgreSQL:

# su - postgres $ psql

Vytvořit nového uživatele:

postgres = # CREATE USER odpovědět PŘIHLÁŠENÍ PŘIHLÁŠENÍ ZPŮSOBENÉ HESLO "usr_strong_pwd';

Zavřete plášť.

To uzavírá konfiguraci hlavního serveru.

Konfigurace serveru slave

Podřízený server nebude mít oprávnění k zápisu do databáze, protože jeho jedinou funkcí je přijímat streaming z hlavního serveru. Bude tedy mít pouze oprávnění ke čtení.

Nejprve zastavte službu PostgreSQL:

# systemctl stop postgresql

Upravte hlavní konfigurační soubor aplikace PostgreSQL:

# $ EDITOR /etc/postgresql/9.6/main/postgresql.conf

V tomto souboru odkomentujte soubor listen_addresses line a změnit jeho hodnotu:.

listen_addresses = 'slave_IP_address'

Dále odkomentujte wal_level line a změňte následovně:

wal_level = hot_standby

Stejně jako v hlavním nastavení odkomentujte synchronous_commit line používat místní synchronizaci.

synchronous_commit = místní

Stejně jako v hlavním, odkomentujte a upravte následující dva řádky:

max_wal_senders = 2
wal_keep_segments = 10

umožnit hot_standby pro slave server odkomentováním následujícího řádku a změnou jeho hodnoty:

hot_standby = on

Uložit a odejít.

Kopírování dat z Master na Slave

Chcete-li synchronizovat z hlavního serveru na podřízený server, musí být hlavní adresář PostgreSQL na podřízeném serveru nahrazen hlavním adresářem z hlavního adresáře. Na podřízeném serveru, přihlaste se k účtu postgres uživatel:

# su - postgres

Proveďte zálohu aktuálního adresáře dat:

$ cd/ var / lib / postgresql / 9.6 / $ mv hlavní main_bak

Vytvoř nový hlavní adresář:

$ mkdir hlavní /

Změnit oprávnění:

$ chmod 700 hlavní

V tomto okamžiku zkopírujte hlavní adresář z hlavního serveru na podřízený server pomocí pg_basebackup:

# pg_basebackup -h master_IP_address -U repliku -D / var / lib / postgresql / 9.6 / main -P - xlog

Jakmile je přenos dokončen, v hlavní adresář vytvořit nový recovery.conf soubor a vložte následující obsah:

standby_mode = 'na' primary_conninfo = 'host = 10.0.15.10 port = 5432 user = replika heslo = usr_strong_pwd' trigger_file = '/tmp/postgresql.trigger.5432'

Uložit, ukončit a změnit oprávnění k tomuto souboru:

# chmod 600 recovery.conf

Spusťte PostgreSQL:

# systemctl start postgresql

To uzavře konfiguraci podřízeného serveru.

závěr

Viděli jsme, jak konfigurovat replikaci Master / Slave PostgreSQL pomocí dvou serverů s Ubuntu 16.04. Jedná se pouze o jednu z mnoha schopností replikace poskytovaných tímto pokrokovým a plně otevřeným databázovým systémem.

Příspěvek Databázový systém: PostgreSQL replikace na Ubuntu 16.04 se objevil nejprve na Unixmen.

Napsat komentář