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 mappenpostgresqlsom 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: Brukersudofor å utføre installasjonen med administratorrettigheter,make installinstallerer 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$PATHden opprinnelige eksisterende banen, og legger til den nye banen/usr/local/pgsql/binforan 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.servicetrer 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
systemdslik 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.