Jeg har lykkes med å kompilere og installere den nyeste versjonen av PostgreSQL (17.4) på Ubuntu ARM32.
Kommandoene i denne artikkelen kommer hovedsakelig fra den offisielle PostgreSQL-dokumentasjonen. Jeg har faktisk testet hver kommando i denne artikkelen.
Du kan se systemet som kan installeres her PostgreSQL bygggård
Kompilere og installere PostgreSQL 17.4
1. Opprett mappe og gå inn i mappen
mkdir postgresql && cd postgresql
mkdir postgresql
: Oppretter en ny mappe som heterpostgresql
.cd postgresql
: Går inn i mappenpostgresql
som nettopp ble opprettet.
2. Last ned PostgreSQL-kildekoden
wget https://ftp.postgresql.org/pub/source/v17.4/postgresql-17.4.tar.bz2
wget
: Laster ned filen fra den angitte URL-en.https://..../postgresql-17.4.tar.bz2
: Nedlastingslenken for den komprimerte kildekode-pakken for PostgreSQL 17.4-versjonen. Hvis lenken er ugyldig, kan du finne en ny lenke selv.
3. Pakk ut kildekode-pakken
tar xjf postgresql-17.4.tar.bz2
-
tar
: Brukes til å behandle.tar
-komprimerte filer. -
xjf
: Alternativer for å pakke uttar
-filen:x
: Pakker ut filen.j
: Bruker bzip2-komprimeringsformatet (.bz2).f
: Angir filen som skal pakkes ut.
-
postgresql-17.4.tar.bz2
: Filnavnet som skal pakkes ut.
4. Gå inn i den utpakkede kildekodemappen
cd postgresql-17.4
- Gå inn i den utpakkede PostgreSQL 17.4-kildekodemappen.
5. Installer avhengighetspakker
sudo apt install libssl-dev libsystemd-dev libxml2-dev libreadline-dev
sudo apt install
: Brukerapt
-pakkebehandleren til å installere pakker.libssl-dev
,libsystemd-dev
,libxml2-dev
,libreadline-dev
: Installerer utviklingsbibliotekene som kreves for PostgreSQL-kompilering, henholdsvis SSL-biblioteket, Systemd-biblioteket, XML-biblioteket og Readline-biblioteket.
6. Konfigurer kompileringsalternativer
./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --with-systemd
./configure
: Forbereder PostgreSQL-kompileringsmiljøet.--prefix=/usr/local/pgsql
: Angir PostgreSQL-installasjonsmappen som/usr/local/pgsql
.--with-openssl
: Aktiverer OpenSSL-støtte.--with-libxml
: Aktiverer XML-støtte.--with-systemd
: Aktiverer Systemd-støtte.
7. Kompiler kildekoden
make -j$(nproc)
make
: Starter kompileringsprosessen.-j$(nproc)
: Brukernproc
(antall CPU-kjerner i systemet) til å utføre kompileringsjobber parallelt, noe som akselererer kompileringsprosessen.
8. Installer PostgreSQL
sudo make install
sudo make install
: Brukersudo
for å utføre installasjonen med administratorrettigheter,make install
installerer de kompilerte filene i systemet, og installerer dem i/usr/local/pgsql
-mappen som er spesifisert i den forrige./configure
-kommandoen.
9. Angi miljøvariabler
Bruk tekstredigeringsprogram 1. Rediger /etc/profile
-filen:
sudo nano /etc/profile
sudo
: Angir at kommandoen kjøres med superbrukerrettigheter (administrator). Fordi endring av/etc/profile
-filen krever administratorrettigheter.nano
: Dette er en tekstredigeringsprogram, som ofte brukes i terminalmiljøer for å redigere filer./etc/profile
: Dette er en global konfigurasjonsfil som brukes til å angi systemomfattende miljøvariabler og oppstartskonfigurasjoner. Alle brukere vil utføre innstillingene i denne filen når de logger på systemet.
- Legg til miljøvariabler:
export PATH=/usr/local/pgsql/bin:$PATH
export
: Brukes til å angi en miljøvariabel slik at den er tilgjengelig i gjeldende og underprosesser.PATH
: Dette er en miljøvariabel som inneholder en liste over kataloger med kjørbare filer i systemet. Når systemet utfører en kommando, vil det søke etter kommandoen basert på katalogene som er oppført iPATH
-variabelen./usr/local/pgsql/bin
: Dette er katalogen for kjørbare filer for PostgreSQL-databasen. Å legge den til betyr at de kjørbare filene (sompsql
) i denne katalogen vil bli gjenkjent av systemet.:$PATH
: Her representerer$PATH
den opprinnelige eksisterende banen, og legger til den nye banen/usr/local/pgsql/bin
foran den eksisterendePATH
. På denne måten vil systemet sjekke den nye katalogen først, og deretter sjekke den opprinnelige banen.
Denne kommandoen brukes til å legge til PostgreSQLs kjørbare filkatalog i systemets miljøvariabel PATH
, og sikrer at PostgreSQL-kommandoer (som psql
) kan kjøres direkte i kommandolinjen uten å måtte oppgi hele banen. De endrede innstillingene vil gjelde for alle brukere
Initialiser PostgreSQL-databasen
Disse kommandoene brukes hovedsakelig til å manuelt konfigurere PostgreSQL databaseserveren på en Linux-server, inkludert å opprette en PostgreSQL-systembruker, initialisere databasen, starte databasetjenesten og registrere den som en systemd
-tjeneste, slik at den automatisk starter ved oppstart.
1. Opprett PostgreSQL-bruker
sudo useradd -m -U -r -d /var/lib/postgresql -s /bin/bash postgres
sudo
: Utfører kommandoen med superbrukerrettigheter.useradd
: Oppretter en ny bruker.-m
: Oppretter brukerens hjemmekatalog.-U
: Oppretter samtidig en brukergruppe med samme navn som brukernavnet.-r
: Oppretter en systembruker (systembruker-UID er lavere enn 1000, brukes ikke til å logge på).-d /var/lib/postgresql
: Angir hjemmekatalogen som/var/lib/postgresql
.-s /bin/bash
: Angir shell som/bin/bash
.postgres
: Brukernavn.
Denne kommandoen oppretter en PostgreSQL-dedikert systembruker postgres
.
2. Endre eieren av PostgreSQL-mappen
sudo chown postgres /usr/local/pgsql
chown postgres /usr/local/pgsql
: Endrer eieren av/usr/local/pgsql
-mappen tilpostgres
-brukeren, slik at den kan lese og skrive til denne mappen.
3. Angi passordet for PostgreSQL-brukeren
sudo passwd postgres
passwd postgres
: Endrer passordet forpostgres
-brukeren.
4. Bytt til PostgreSQL-brukeren
su postgres
su postgres
: Bytter tilpostgres
-brukeren for å bruke PostgreSQL-relaterte kommandoer.
5. Initialiser databasen
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
initdb -D /usr/local/pgsql/data
: Initialiserer databaselagringen i/usr/local/pgsql/data
-mappen.
6. Start PostgreSQL-databasen
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
postgres -D /usr/local/pgsql/data
: Starter databasen som enpostgres
-prosess, med datalagring i/usr/local/pgsql/data
-mappen.
7. I en annen terminaløkt, gå inn i databasen
su postgres
/usr/local/pgsql/bin/psql
psql
: PostgreSQLs kommandolinje-interaksjonsverktøy, går inn i databaseshellet.
8. Angi passordet for databasebrukeren
ALTER USER postgres WITH PASSWORD 'your_new_password';
- Endrer passordet for databasebrukeren
postgres
.
9. Opprett systemd
-tjeneste
sudo nano /etc/systemd/system/postgresql.service
nano /etc/systemd/system/postgresql.service
: Redigerersystemd
-konfigurasjonsfilen, slik at PostgreSQL kan kjøre som en tjeneste.
Konfigurasjonsfilens innhold:
[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
: Beskriver at denne tjenesten er en PostgreSQL-server.After=network-online.target
: Venter til nettverkstilkoblingen er tilgjengelig før PostgreSQL startes.User=postgres
: Kjører sompostgres
-bruker.ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
: Starter PostgreSQL-serveren.ExecReload=/bin/kill -HUP $MAINPID
: SenderHUP
-signal ved omlasting.KillMode=mixed
: Blandet avslutningsmodus.KillSignal=SIGINT
: Signal for å avslutte PostgreSQL-prosessen.TimeoutSec=infinity
: Tidsavbrudd er satt til uendelig.
10. Aktiver systemd
-tjeneste
sudo systemctl daemon-reload
sudo systemctl start postgresql
sudo systemctl status postgresql
sudo systemctl enable postgresql
daemon-reload
: Laster innsystemd
-konfigurasjonen på nytt, slik at den nyepostgresql.service
trer i kraft.start postgresql
: Starter PostgreSQL-tjenesten.status postgresql
: Sjekker PostgreSQLs kjørestatus.enable postgresql
: Starter PostgreSQL automatisk ved oppstart.
Formålet med disse kommandoene er:
- Opprette en
postgres
-bruker som er spesielt dedikert til å kjøre PostgreSQL. - Initialisere databasens lagringskatalog.
- Starte PostgreSQL-databasen og gå inn i det interaktive
psql
-kommandolinjen. - Konfigurere
systemd
slik at PostgreSQL kjører som en systemtjeneste og støtter automatisk oppstart ved oppstart.
På denne måten kan PostgreSQL-serveren kjøre normalt og kan startes automatisk når systemet starter.
Referansemateriell
PostgreSQL: Dokumentasjon: 17: Kapittel 17. Installasjon fra kildekode
Andre versjoner av denne nettsiden
Denne artikkelen finnes i flere språkversjoner.
Hvis du vil legge inn en kommentar, kan du gå til følgende nettside:
Disse nettsidene støtter bare visning, og kan ikke publisere kommentarer eller meldinger, men gir flere språkalternativer og kortere lastetider:
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
Denne artikkelen er oversatt fra Chinese (Simplified) til Norwegian av AI.