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ä.

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.