Onnistuin kääntämään ja asentamaan uusimman PostgreSQL:n (17.4) Ubuntu ARM32:lle.

Tämän artikkelin komennot ovat pääosin peräisin PostgreSQL:n virallisesta dokumentaatiosta. Olen testannut jokaisen artikkelin komennon käytännössä.

Voit nähdä järjestelmän, johon asennus onnistui, täältä: PostgreSQL-rakennusfarmi

PostgreSQL 17.4:n kääntäminen ja asentaminen

1. Luo hakemisto ja siirry siihen

mkdir postgresql && cd postgresql
  • mkdir postgresql: Luo uuden hakemiston nimeltä postgresql.
  • cd postgresql: Siirry juuri luotuun postgresql-hakemistoon.

2. Lataa PostgreSQL-lähdekoodi

wget https://ftp.postgresql.org/pub/source/v17.4/postgresql-17.4.tar.bz2
  • wget: Lataa tiedosto määritetystä URL-osoitteesta.
  • https://..../postgresql-17.4.tar.bz2: PostgreSQL:n version 17.4 pakatun lähdekoodipaketin latauslinkki. Jos linkki ei toimi, voit etsiä uuden linkin itse.

3. Pura lähdekoodipaketti

tar xjf postgresql-17.4.tar.bz2
  • tar: Käytetään .tar-pakattujen tiedostojen käsittelyyn.

  • xjf: Purkaa tar-tiedoston seuraavilla valinnoilla:

    • x: Pura tiedostot.
    • j: Käytä bzip2-pakkausmuotoa (.bz2).
    • f: Määritä purettava tiedosto.
  • postgresql-17.4.tar.bz2: Purettavan tiedoston nimi.

4. Siirry puretun lähdekoodin hakemistoon

cd postgresql-17.4
  • Siirry purettuun PostgreSQL 17.4:n lähdekoodihakemistoon.

5. Asenna riippuvuudet

sudo apt install libssl-dev libsystemd-dev libxml2-dev libreadline-dev
  • sudo apt install: Asenna ohjelmapaketteja apt-pakettienhallinnalla.
  • libssl-dev, libsystemd-dev, libxml2-dev, libreadline-dev: Asenna PostgreSQL:n kääntämiseen tarvittavat kehityskirjastot, jotka ovat SSL-kirjasto, Systemd-kirjasto, XML-kirjasto ja Readline-kirjasto.

6. Määritä käännöksen asetukset

./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --with-systemd
  • ./configure: Valmistele PostgreSQL:n käännösympäristö.
  • --prefix=/usr/local/pgsql: Määritä PostgreSQL:n asennushakemistoksi /usr/local/pgsql.
  • --with-openssl: Ota OpenSSL-tuki käyttöön.
  • --with-libxml: Ota XML-tuki käyttöön.
  • --with-systemd: Ota Systemd-tuki käyttöön.

7. Käännä lähdekoodi

make -j$(nproc)
  • make: Aloita käännösprosessi.
  • -j$(nproc): Käytä nproc-komentoa (järjestelmän CPU-ydinten lukumäärää) suorittaaksesi käännöstehtäviä rinnakkain ja nopeuttaaksesi käännöstä.

8. Asenna PostgreSQL

sudo make install
  • sudo make install: Suorita asennus pääkäyttäjän oikeuksin sudo-komennolla, make install asentaa käännetyt tiedostot järjestelmään, edellisessä ./configure-komennossa määritettyyn /usr/local/pgsql-hakemistoon.

9. Määritä ympäristömuuttujat

Käytä tekstieditoria 1. Muokkaa /etc/profile-tiedostoa:

sudo nano /etc/profile
  • sudo: Ilmaisee, että komento suoritetaan pääkäyttäjän (ylläpitäjän) oikeuksilla. /etc/profile-tiedoston muokkaaminen vaatii ylläpitäjän oikeudet.
  • nano: Tämä on tekstieditori, jota käytetään yleisesti tiedostojen muokkaamiseen terminaaliympäristössä.
  • /etc/profile: Tämä on globaali määritystiedosto, jota käytetään järjestelmänlaajuisten ympäristömuuttujien ja käynnistysmääritysten määrittämiseen. Kaikki käyttäjät, jotka kirjautuvat järjestelmään, suorittavat tämän tiedoston asetukset.
  1. Lisää ympäristömuuttuja:
export PATH=/usr/local/pgsql/bin:$PATH
  • export: Käytetään ympäristömuuttujan määrittämiseen, jotta se on käytettävissä nykyisessä ja aliprosesseissa.
  • PATH: Tämä on ympäristömuuttuja, joka sisältää luettelon suoritettavien tiedostojen hakemistoista järjestelmässä. Järjestelmä etsii komentoja suorittaessaan PATH-muuttujassa lueteltujen hakemistojen perusteella.
  • /usr/local/pgsql/bin: Tämä on PostgreSQL-tietokannan suoritettavien tiedostojen hakemisto, ja sen lisääminen tarkoittaa, että järjestelmä tunnistaa tässä hakemistossa olevat suoritettavat tiedostot (kuten psql).
  • :$PATH: Tässä $PATH edustaa jo olemassa olevia polkuja, ja uusi polku /usr/local/pgsql/bin lisätään alkuperäisen PATH:n alkuun. Tällä tavalla järjestelmä tarkistaa ensin uuden hakemiston ja sitten alkuperäiset polut.

Tämän komennon tarkoituksena on lisätä PostgreSQL:n suoritettavien tiedostojen hakemisto järjestelmän ympäristömuuttujaan PATH, varmistaen, että PostgreSQL:n komentoja (kuten psql) voidaan suorittaa suoraan komentoriviltä ilman, että tarvitsee antaa täydellistä polkua. Muokatut asetukset koskevat kaikkia käyttäjiä.

PostgreSQL-tietokannan alustaminen

Nämä komennot on tarkoitettu pääasiassa PostgreSQL-tietokantapalvelimen manuaaliseen määrittämiseen Linux-palvelimella, mukaan lukien PostgreSQL-järjestelmän käyttäjän luominen, tietokannan alustaminen, tietokantapalvelun käynnistäminen ja sen rekisteröinti systemd-palveluksi, jotta se käynnistyy automaattisesti käynnistyksen yhteydessä.

1. PostgreSQL-käyttäjän luominen

sudo useradd -m -U -r -d /var/lib/postgresql -s /bin/bash postgres
  • sudo: Suorita komento pääkäyttäjän oikeuksin.
  • useradd: Luo uusi käyttäjä.
  • -m: Luo käyttäjän kotihakemisto.
  • -U: Luo samalla käyttäjänimen kanssa sama käyttäjäryhmä.
  • -r: Luo järjestelmäkäyttäjä (järjestelmäkäyttäjän UID on alle 1000, ei käytetä sisäänkirjautumiseen).
  • -d /var/lib/postgresql: Määritä kotihakemistoksi /var/lib/postgresql.
  • -s /bin/bash: Määritä komentotulkiksi /bin/bash.
  • postgres: Käyttäjänimi.

Komento luo PostgreSQL:lle erillisen järjestelmäkäyttäjän postgres.


2. PostgreSQL-hakemiston omistajan vaihtaminen

sudo chown postgres /usr/local/pgsql
  • chown postgres /usr/local/pgsql: Muuta /usr/local/pgsql-hakemiston omistajaksi postgres-käyttäjä, jotta hän voi lukea ja kirjoittaa kyseiseen hakemistoon.

3. PostgreSQL-käyttäjän salasanan asettaminen

sudo passwd postgres
  • passwd postgres: Muokkaa postgres-käyttäjän salasanaa.

4. Vaihtaminen PostgreSQL-käyttäjäksi

su postgres
  • su postgres: Vaihda postgres-käyttäjäksi, jotta voit käyttää PostgreSQL-komentoja.

5. Tietokannan alustaminen

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
  • initdb -D /usr/local/pgsql/data: Alusta tietokannan tallennustila /usr/local/pgsql/data-hakemistossa.

6. PostgreSQL-tietokannan käynnistäminen

/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
  • postgres -D /usr/local/pgsql/data: Käynnistä tietokanta postgres-prosessina, ja tiedot tallennetaan /usr/local/pgsql/data-hakemistoon.

7. Siirry tietokantaan toisessa terminaali-istunnossa

su postgres
/usr/local/pgsql/bin/psql
  • psql: PostgreSQL:n komentorivikäyttöliittymätyökalu, siirry tietokantakomentotulkkiin.

8. Tietokannan käyttäjän salasanan asettaminen

ALTER USER postgres WITH PASSWORD 'your_new_password';
  • Muokkaa tietokantakäyttäjän postgres salasanaa.

9. systemd-palvelun luominen

sudo nano /etc/systemd/system/postgresql.service
  • nano /etc/systemd/system/postgresql.service: Muokkaa systemd-määritystiedostoa, jotta PostgreSQL voidaan suorittaa palveluna.

Määritystiedoston sisältö:

[Unit]
Description=PostgreSQL server
#Documentation=man:postgres(1)
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
User=postgres
ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=infinity

[Install]
WantedBy=multi-user.target
  • Description=PostgreSQL server: Kuvaa, että palvelu on PostgreSQL-palvelin.
  • After=network-online.target: Odota, että verkkoyhteys on käytettävissä, ennen kuin käynnistät PostgreSQL:n.
  • User=postgres: Suorita postgres-käyttäjänä.
  • ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data: Käynnistä PostgreSQL-palvelin.
  • ExecReload=/bin/kill -HUP $MAINPID: Lähetä HUP-signaali uudelleenlatauksen yhteydessä.
  • KillMode=mixed: Sekoitettu lopetustila.
  • KillSignal=SIGINT: Signaali PostgreSQL-prosessin lopettamiseen.
  • TimeoutSec=infinity: Aikakatkaisu on asetettu äärettömäksi.

10. systemd-palvelun ottaminen käyttöön

sudo systemctl daemon-reload
sudo systemctl start postgresql
sudo systemctl status postgresql
sudo systemctl enable postgresql
  • daemon-reload: Lataa systemd-määritykset uudelleen, jotta uusi postgresql.service astuu voimaan.
  • start postgresql: Käynnistä PostgreSQL-palvelu.
  • status postgresql: Tarkista PostgreSQL:n tila.
  • enable postgresql: Käynnistä PostgreSQL automaattisesti käynnistyksen yhteydessä.

Näiden komentojen tarkoitus on:

  1. Luo postgres-käyttäjä, joka on omistettu PostgreSQL:n suorittamiselle.
  2. Alusta tietokannan tallennushakemisto.
  3. Käynnistä PostgreSQL-tietokanta ja siirry psql-interaktiiviseen komentoriviin.
  4. Määritä systemd suorittamaan PostgreSQL järjestelmäpalveluna ja tukemaan automaattista käynnistystä käynnistyksen yhteydessä.

Tällä tavalla PostgreSQL-palvelin voi toimia normaalisti ja käynnistyä automaattisesti järjestelmän käynnistyessä.

Viitemateriaalit

PostgreSQL: Dokumentaatio: 17: Luku 17. Asennus lähdekoodista

Tämän verkkosivun muut versiot

Tästä artikkelista on versioita useilla kielillä.

Jos haluat jättää kommentin, käy seuraavalla sivulla:

ZH EN ZH-TW JA

Nämä sivut tukevat vain selaamista, kommenttien jättäminen ei ole mahdollista, mutta ne tarjoavat enemmän kielivaihtoehtoja ja latautuvat nopeammin:

ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO

Tämä artikkeli on konekäännetty kieleltä Chinese (Simplified) kielelle Finnish AI:n avulla.