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 apt
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í replikační repozitář Localhost 127.0.0.1 / 32 md5 # PostgreSQL Replikační replikační replikační replika Master replica master_IP_address / 32 md5 # PostgreSQL Replikační replikační replikační replika repliky replikace 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řijmout streamování z hlavního počítače. Takže bude mít pouze oprávnění READ.
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 main 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.
Proč investovat do čističky vzduchu?
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.