Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

PostgreSQL-tietokannan siirtäminen Pukkiin

Johdanto

Tässä ohjeessa käydään läpi PostgreSQL-tietokannan siirtäminen Pukkiin, CSC:n Database-as-a-Service (DBaaS) -alustalle. Tämä vaiheittainen opas näyttää, miten viet nykyisen tietokantasi, tuot sen Pukkiin ja varmistat, että siirto onnistui.

Varmista riittävä levytila ja resurssien allokointi

Omalla koneellasi: pg_dump-komento kirjoittaa tietokannan vedostiedoston paikalliselle koneellesi / palvelimellesi (jossa komento suoritetaan). Varmista, että koneellasi on riittävästi vapaata levytilaa vedostiedoston tallentamiseen. Vedoksen koko riippuu datan määrästä ja valitusta muodosta (pelkkä SQL tai hakemisto).

DBaaS-instanssissa: Pukin projekteilla on oletuskiintiöt ja taltiorajat. Jos tietokantasi tarvitsee enemmän resursseja (esim. suuremman taltio koon, enemmän muistia tai lisäinstansseja), ota yhteyttä ServiceDeskiin pyytääksesi oletuskiintiösi kasvattamista (liitä mukaan projektinumerosi).

Vaihe 1: Ota Pukin PostgreSQL-instanssi käyttöön

Ennen kuin voit siirtää tietokantasi, sinun täytyy luoda Pukkiin uusi PostgreSQL-instanssi, johon nykyisen tietokantasi data tuodaan. Voit tehdä tämän joko käyttämällä selainkäyttöliittymää tai komentorivikäyttöliittymää.

Sallitut CIDR:t

Varmista, että lisäät IP-osoitteesi muodossa $IP/32 kohtaan Allowed CIDRs. Jos haluat sallia useita IP-osoitteita, ne pitää erottaa pilkulla ,. Oletuksena tietokanta luodaan ilman Allowed CIDRs -määrityksiä, mikä tarkoittaa, ettet voi muodostaa yhteyttä tietokantaasi.

Vaihe 2: Vie nykyinen PostgreSQL-tietokantasi

Tietokannan siirtämiseksi sinun täytyy ensin luoda varmuuskopio eli "dump" nykyisestä tietokannastasi. Tämä varmuuskopio sisältää skeeman ja datan, jotka tuodaan Pukkiin. PostgreSQL tarjoaa pg_dump -työkalun varmuuskopioiden/"dumpien" luomiseen.

  • Avaa pääte palvelimella, jolla nykyinen PostgreSQL-tietokantasi sijaitsee.

  • Suorita pg_dump-komento viedäksesi tietokantasi pelkkänä SQL-tiedostona:

    pg_dump --user ${USERNAME} --host ${PUBLIC_IP} --format p ${DATABASE_NAME} > database_backup.sql
    

    • --format p: Määrittää tulosteelle pelkän tekstimuotoisen SQL-muodon.
    • database_backup.sql: Tulostiedoston nimi.
  • Jos tietokantasi on suuri, harkitse rinnakkaisen vedoksen luomista hakemistomuodossa nopeampaa käsittelyä varten:

    pg_dump --user ${USERNAME} --host ${PUBLIC_IP} --format d --jobs 4 --file /path/to/dir ${DATABASE_NAME}
    

    • --format d: Määrittää hakemistomuodon.
    • --jobs 4: Käyttää 4 rinnakkaista työtä nopeampaan vientiin.
    • --file /path/to/dir: Hakemisto, johon vedostiedostot tallennetaan.

Vaihe 3: Tuo vedos Pukkiin

Varmuuskopion/"dumpin" luomisen jälkeen seuraava vaihe on tuoda se Pukin PostgreSQL-instanssiin. Tämä vaihe varmistaa, että alkuperäisen tietokantasi data ja skeema palautetaan uuteen ympäristöön.

  • Jos käytit pg_dump-työkalua pelkässä SQL-muodossa (--format p), seuraa näitä vaiheita:

    • Käytä psql:ää tuodaksesi SQL-tiedoston suoraan Pukin tietokantaan:
      psql --user ${USERNAME} --host ${PUBLIC_IP} ${DATABASE_NAME} --file database_backup.sql
      
    • --file database_backup.sql: Vedostiedoston polku.
  • Jos käytit vedokselle hakemistomuotoa (--format d), käytä pg_restore-työkalua tietokannan palauttamiseen:

    • Käytä pg_restore-työkalua rinnakkaisilla töillä tuodaksesi hakemistomuotoisen vedoksen:
      pg_restore --user ${USERNAME} --host ${PUBLIC_IP} ${DATABASE_NAME} --jobs 4 /path/to/dir
      
    • --jobs 4: Töiden määrä.
    • /path/to/dir: Polku hakemistoon, joka sisältää vedostiedostot.

Vaihe 4: Varmista siirto

Datan tuonnin jälkeen on tärkeää varmistaa, että siirto onnistui. Näin varmistetaan, että kaikki taulut, skeema ja data siirtyivät oikein Pukin tietokantaan. Voit tehdä tämän suorittamalla peruskyselyitä Pukin instanssissa varmistaaksesi tietokannan rakenteen ja sisällön.

  • Yhdistä Pukin tietokantaan:

    psql --user ${USERNAME} --host ${PUBLIC_IP} ${DATABASE_NAME}
    

    • Korvaa ${USERNAME}, ${PUBLIC_IP} ja ${DATABASE_NAME} omalla käyttäjänimelläsi, palvelinosoitteellasi ja tietokannan nimelläsi.
  • Suorita kysely laskeaksesi rivien määrän keskeisessä taulussa:

    SELECT COUNT(*) FROM table_name;
    

    • Korvaa table_name taululla, joka sisältää tietokannassasi tärkeää dataa.
    • Suorita sama kysely alkuperäisessä tietokannassasi ja varmista, että rivimäärät täsmäävät.
  • Tarkista tietty data kriittisissä tauluissa:

    SELECT * FROM table_name LIMIT 5;
    

    • Tarkista tulokset varmistaaksesi datan eheyden.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta