Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi · Oppitunti

Fyysinen replikointi (suoratoisto)

Oppikaa fyysisen suoratoistoreplikoinnin määrittäminen ja asetusten konfigurointi vain luku -valmiuspalvelimen luomiseksi.

Oppitunti 2/411 vaihetta

Fyysinen replikointi (suoratoisto) on ilmainen Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-kurssilla on yhteensä 4 oppituntia.

Fyysinen replikaatio: tavu tavulta kopio

PostgreSQL:n fyysinen replikaatio luo Primary-tietokantapalvelimesta täsmällisen, tavu tavulta vastaavan kopion. Sitä voi ajatella koko datakansion ja kaikkien siinä tapahtuvien muutosten peilaamisena.

Tämä menetelmä on erittäin luotettava katastrofitilanteista palautumiseen, ja se tarjoaa yhdenmukaisen vain luku -tilassa olevan kopion tiedoistasi, jota kutsutaan standby-palvelimeksi. Jos Primary-palvelin vikaantuu, Standby voidaan ylentää uudeksi Primary-palvelimeksi.

Miten suoratoistoreplikaatio toimii

Suoratoistoreplikaatio on fyysisen replikaation muoto, jossa Primary-palvelin lähettää jatkuvasti Write-Ahead Login (WAL) tietueensa Standby-palvelimelle. Standby ottaa nämä WAL-tietueet käyttöön reaaliajassa.

Näin Standby pysyy aina ajan tasalla Primary-palvelimen kanssa, mikä minimoi tietojen menetyksen vikatilanteessa. Se on kuin jatkuva päivitysvirta tietokannasta toiseen.

Primaryn määritys: `wal_level`

Suoratoistoreplikaation käyttöön ottamiseksi Primary-palvelimen on tuotettava riittävästi WAL-tietoja. Tätä ohjaa wal_level-parametri.

Sen arvoksi on asetettava replica (tai logical edistyneempiä ominaisuuksia varten) tiedostossa postgresql.conf. Oletusarvon minimal taso ei riitä replikaatioon.

Tarkistetaan nykyinen wal_level:

SHOW wal_level;

Primaryn määritys: `max_wal_senders`

Primary-palvelin tarvitsee prosesseja WAL-tietojen lähettämiseen Standby-palvelimille. Näitä kutsutaan WAL-lähetysprosesseiksi.

max_wal_senders-parametri määrittää Standby-palvelimien samanaikaisten yhteyksien enimmäismäärän. Aseta arvoksi vähintään suunnittelemiesi Standby-palvelimien määrä sekä muutama ylimääräinen mahdollisia ketjutettuja Standby-palvelimia varten.

Tarkista nykyinen asetus:

SHOW max_wal_senders;

Replikaatiokäyttäjän luominen

Hyvä käytäntö on luoda PostgreSQL:ää varten erillinen käyttäjä replikaatiota varten. Käyttäjä tarvitsee REPLICATION-oikeuden, jonka avulla se voi muodostaa yhteyden ja suoratoistaa WAL-tietoja.

Selkeä erottelu parantaa tietoturvaa ja tekee näkyväksi, mitkä yhteydet on tarkoitettu replikaatioon.

Voit luoda käyttäjän esimerkiksi näin (korvaa salasana vahvalla salasanalla):

CREATE USER repl_user WITH REPLICATION ENCRYPTED PASSWORD 'your_secret_password';

Standby-yhteyksien salliminen (`pg_hba.conf`)

Primary-palvelimen on sallittava yhteydet Standby-palvelimelta. Tämä määritetään pg_hba.conf-tiedostossa, joka hallitsee asiakkaiden todentamista.

Lisää replikaatiokäyttäjälle merkintä, jossa määrität Standby-palvelimen tai -palvelimien IP-osoitteen tai osoitealueen. Näin PostgreSQL sallii yhteydet näiltä Standby-palvelimilta.

# Example pg_hba.conf entry:
host    replication     repl_user       192.168.1.100/32        md5

Perusvarmuuskopio Standby-palvelimelle

Ennen kuin Standby voi aloittaa WAL:n suoratoiston, se tarvitsee alkuperäisen kopion Primary-palvelimen datakansiosta. Tätä kutsutaan perusvarmuuskopioksi.

PostgreSQL tarjoaa pg_basebackup-apuohjelman tämän tilannekuvan luomiseen. Se kopioi kaikki datatiedostot Primarysta Standby-palvelimelle ja varmistaa, että ne aloittavat yhdenmukaisesta kohdasta.

Tämä komento suoritetaan yleensä Standby-palvelimelta:

# Example pg_basebackup command (run on standby):
pg_basebackup -h primary_ip -p 5432 -U repl_user -D /var/lib/postgresql/16/main -F p -Xs -P -R

Standbyn määritys: `standby.signal`

Kun perusvarmuuskopio on paikallaan, Standby-palvelimen on tiedettävä olevansa Standby. PostgreSQL 12:ssa ja uudemmissa tämä ilmaistaan sillä, että datakansiossa on tyhjä tiedosto nimeltä standby.signal.

Tiedosto käskee PostgreSQL:ää käynnistymään palautustilassa ja etsimään replikaation määritykset.

Standbyn määritys: `primary_conninfo`

Standby-palvelimen on myös tiedettävä, miten Primary-palvelimeen muodostetaan yhteys. Tämä määritetään sen postgresql.conf-tiedoston primary_conninfo-parametrilla.

Kyseessä on yhteysmerkkijono, joka muistuttaa psql-komennon kanssa käytettävää merkkijonoa ja sisältää Primary-palvelimen isännän, portin, replikaatiokäyttäjän ja salasanan.

Voit asettaa tämän Standby-palvelimella komennolla ALTER SYSTEM:

ALTER SYSTEM SET primary_conninfo = 'host=primary_ip port=5432 user=repl_user password=your_secret_password application_name=my_standby';

Replikaation määritysten tarkistus

Olet oppinut suoratoistoreplikaation määrittämiseen tarvittavat keskeiset parametrit. Testataan tietosi!

Kertaus: fyysinen suoratoistoreplikaatio

Tässä oppitunnissa perehdyimme fyysiseen suoratoistoreplikaatioon. Opit, että se luo Primary-tietokannasta tavu tavulta vastaavan kopion lähettämällä WAL-tietueita jatkuvasti.

  • Käsittelimme Primary-palvelimen määrityksiä, kuten wal_level- ja max_wal_senders-parametreja.
  • Opit myös luomaan erillisen replikaatiokäyttäjän ja määrittämään pg_hba.conf-tiedoston.
  • Lopuksi käsittelimme Standby-palvelimen valmistelua perusvarmuuskopiolla komennon pg_basebackup avulla sekä sen yhteyden määrittämistä parametrilla primary_conninfo.

Seuraavaksi sovellamme näitä käsitteitä käytäntöön määrittämällä Standby-palvelimen!

Aloita maksutta

Opi Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
11
Oppitunnit
44

Usein kysytyt kysymykset

Onko oppitunti ”Fyysinen replikointi (suoratoisto)” ilmainen?

Kyllä – oppitunnin ”Fyysinen replikointi (suoratoisto)” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-kurssin, päivitä CoddyKit PROhon. Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Fyysinen replikointi (suoratoisto)”?

Oppikaa fyysisen suoratoistoreplikoinnin määrittäminen ja asetusten konfigurointi vain luku -valmiuspalvelimen luomiseksi. Harjoittelet Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Fyysinen replikointi (suoratoisto)”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-oppitunnilla?

Kyllä. Jokainen Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Replikoinnin perusteet
  2. Fyysinen replikointi (suoratoisto)
  3. Valmiuspalvelimen määrittäminen
  4. Synkroninen ja asynkroninen replikaatio
← Takaisin: Edistynyt PostgreSQL: indeksointi, osiointi ja replikointi