Jag har framgångsrikt kompilerat och installerat den senaste versionen av PostgreSQL (17.4) på Ubuntu ARM32.
Kommandona i den här artikeln kommer huvudsakligen från PostgreSQL:s officiella dokumentation. Jag har faktiskt testat varje kommando i den här artikeln.
Du kan se de system där installationen lyckas här PostgreSQL Byggfarm
Kompilera och installera PostgreSQL 17.4
1. Skapa en katalog och gå in i den
mkdir postgresql && cd postgresql
mkdir postgresql: Skapar en ny katalog med namnetpostgresql.cd postgresql: Går in i katalogenpostgresqlsom just skapades.
2. Ladda ner PostgreSQL-källkoden
wget https://ftp.postgresql.org/pub/source/v17.4/postgresql-17.4.tar.bz2
wget: Laddar ner en fil från den angivna URL:en.https://..../postgresql-17.4.tar.bz2: Nedladdningslänk för den komprimerade källkodspaketet för PostgreSQL 17.4-versionen. Om länken är ogiltig kan du hitta en ny länk själv.
3. Packa upp källkodspaketet
tar xjf postgresql-17.4.tar.bz2
-
tar: Används för att hantera.tar-komprimerade filer. -
xjf: Alternativ för att packa upptar-filer:x: Packa upp filen.j: Använd bzip2-komprimeringsformatet (.bz2).f: Ange filen som ska packas upp.
-
postgresql-17.4.tar.bz2: Namnet på filen som ska packas upp.
4. Gå in i den uppackade källkodskatalogen
cd postgresql-17.4
- Går in i den uppackade PostgreSQL 17.4 källkodskatalogen.
5. Installera beroende paket
sudo apt install libssl-dev libsystemd-dev libxml2-dev libreadline-dev
sudo apt install: Använder pakethanterarenaptför att installera paket.libssl-dev,libsystemd-dev,libxml2-dev,libreadline-dev: Installerar utvecklingsbiblioteken som krävs för PostgreSQL-kompilering, nämligen SSL-biblioteket, Systemd-biblioteket, XML-biblioteket och Readline-biblioteket.
6. Konfigurera kompileringsalternativ
./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --with-systemd
./configure: Förbereder PostgreSQL:s kompileringsmiljö.--prefix=/usr/local/pgsql: Anger PostgreSQL:s installationskatalog som/usr/local/pgsql.--with-openssl: Aktiverar OpenSSL-stöd.--with-libxml: Aktiverar XML-stöd.--with-systemd: Aktiverar Systemd-stöd.
7. Kompilera källkoden
make -j$(nproc)
make: Startar kompileringsprocessen.-j$(nproc): Användernproc(antalet CPU-kärnor i systemet) för att parallellisera kompileringsuppgifter, vilket accelererar kompileringsprocessen.
8. Installera PostgreSQL
sudo make install
sudo make install: Användersudoför att utföra installationen med administratörsbehörighet,make installinstallerar de kompilerade filerna i systemet, i katalogen/usr/local/pgsqlsom anges i det tidigare kommandot./configure.
9. Ställ in miljövariabler
Använd en textredigerare 1. Redigera filen /etc/profile:
sudo nano /etc/profile
sudo: Indikerar att kommandot körs med superanvändar- (administratörs-)behörighet. Eftersom ändring av filen/etc/profilekräver administratörsbehörighet.nano: Detta är en textredigerare som ofta används i terminalmiljöer för att redigera filer./etc/profile: Detta är en global konfigurationsfil som används för att ställa in systemomfattande miljövariabler och startkonfigurationer. Alla användare som loggar in i systemet kommer att köra inställningarna i den här filen.
- Lägg till miljövariabler:
export PATH=/usr/local/pgsql/bin:$PATH
export: Används för att ställa in en miljövariabel så att den är tillgänglig i den aktuella processen och underprocesser.PATH: Detta är en miljövariabel som innehåller en lista över kataloger med körbara filer i systemet. Systemet söker efter kommandon baserat på de kataloger som listas i variabelnPATHnär det kör kommandon./usr/local/pgsql/bin: Detta är katalogen med körbara filer för PostgreSQL-databasen. Att lägga till den innebär att de körbara filerna i den katalogen (t.ex.psql) kommer att kännas igen av systemet.:$PATH: Här representerar$PATHde befintliga sökvägarna. Den nya sökvägen/usr/local/pgsql/binläggs till i början av den befintligaPATH. På så sätt kommer systemet först att kontrollera den nya katalogen och sedan kontrollera de befintliga sökvägarna.
Syftet med detta kommando är att lägga till PostgreSQL:s körbara filkatalog i systemets miljövariabel PATH, vilket säkerställer att PostgreSQL-kommandon (t.ex. psql) kan köras direkt i kommandoraden utan att ange den fullständiga sökvägen. De ändrade inställningarna kommer att gälla för alla användare.
Initiera PostgreSQL-databasen
Dessa kommandon används främst för att manuellt konfigurera PostgreSQL databasservern på en Linux-server, inklusive att skapa en PostgreSQL-systemanvändare, initiera databasen, starta databasstjänsten och registrera den som en systemd-tjänst, så att den startar automatiskt vid uppstart.
1. Skapa en PostgreSQL-användare
sudo useradd -m -U -r -d /var/lib/postgresql -s /bin/bash postgres
sudo: Utför kommandot med superanvändarbehörighet.useradd: Skapa en ny användare.-m: Skapa användarens hemkatalog.-U: Skapa samtidigt en användargrupp med samma namn som användarnamnet.-r: Skapa en systemanvändare (systemanvändarens UID är lägre än 1000 och används inte för inloggning).-d /var/lib/postgresql: Ange hemkatalogen som/var/lib/postgresql.-s /bin/bash: Ange shell som/bin/bash.postgres: Användarnamn.
Detta kommando skapar en PostgreSQL-specifik systemanvändare postgres.
2. Ändra ägaren till PostgreSQL-katalogen
sudo chown postgres /usr/local/pgsql
chown postgres /usr/local/pgsql: Ändrar ägaren till katalogen/usr/local/pgsqltill användarenpostgres, vilket gör att den kan läsa och skriva till katalogen.
3. Ange lösenordet för PostgreSQL-användaren
sudo passwd postgres
passwd postgres: Ändra lösenordet för användarenpostgres.
4. Växla till PostgreSQL-användaren
su postgres
su postgres: Växla till användarenpostgresför att kunna använda PostgreSQL-relaterade kommandon.
5. Initiera databasen
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
initdb -D /usr/local/pgsql/data: Initiera databaslagringen i katalogen/usr/local/pgsql/data.
6. Starta PostgreSQL-databasen
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
postgres -D /usr/local/pgsql/data: Starta databasen med processenpostgres, och datalagringen finns i katalogen/usr/local/pgsql/data.
7. I en annan terminalsession, gå in i databasen
su postgres
/usr/local/pgsql/bin/psql
psql: PostgreSQL:s kommandoradsinteraktionsverktyg, går in i databasshellet.
8. Ange lösenordet för databasanvändaren
ALTER USER postgres WITH PASSWORD 'your_new_password';
- Ändra lösenordet för databasanvändaren
postgres.
9. Skapa en systemd-tjänst
sudo nano /etc/systemd/system/postgresql.service
nano /etc/systemd/system/postgresql.service: Redigerasystemd-konfigurationsfilen, så att PostgreSQL kan köras som en tjänst.
Konfigurationsfilens innehåll:
[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 att tjänsten är en PostgreSQL-server.After=network-online.target: Vänta tills nätverksanslutningen är tillgänglig innan PostgreSQL startas.User=postgres: Körs som användarenpostgres.ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data: Starta PostgreSQL-servern.ExecReload=/bin/kill -HUP $MAINPID: SkickaHUP-signalen vid omladdning.KillMode=mixed: Blandat avslutningsläge.KillSignal=SIGINT: Signalen för att avsluta PostgreSQL-processen.TimeoutSec=infinity: Tidsgränsen är satt till oändligheten.
10. Aktivera systemd-tjänsten
sudo systemctl daemon-reload
sudo systemctl start postgresql
sudo systemctl status postgresql
sudo systemctl enable postgresql
daemon-reload: Ladda omsystemd-konfigurationen så att den nyapostgresql.serviceträder i kraft.start postgresql: Starta PostgreSQL-tjänsten.status postgresql: Kontrollera PostgreSQL:s körstatus.enable postgresql: Starta PostgreSQL automatiskt vid uppstart.
Syftet med dessa kommandon är:
- Skapa en
postgres-användare som är dedikerad till att köra PostgreSQL. - Initiera databasens lagringskatalog.
- Starta PostgreSQL-databasen och gå in i det interaktiva kommandoradsgränssnittet
psql. - Konfigurera
systemdför att köra PostgreSQL som en systemtjänst och stödja automatisk start vid uppstart.
På detta sätt kan PostgreSQL-servern köras normalt och kan startas automatiskt när systemet startar.
Referensmaterial
PostgreSQL: Dokumentation: 17: Kapitel 17. Installation från källkod
Andra versioner av denna webbsida
Det finns flera språkversioner av den här artikeln.
Dessa webbsidor stöder endast visning, du kan inte lämna kommentarer eller meddelanden, men de erbjuder fler språkalternativ och kortare laddningstider:
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
Den här artikeln är översatt från Chinese (Simplified) till Swedish av AI.