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.
Om du vill lämna en kommentar, besök följande webbsida:
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.