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 katalogenpostgresql
som 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 pakethanterarenapt
fö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ändersudo
för att utföra installationen med administratörsbehörighet,make install
installerar de kompilerade filerna i systemet, i katalogen/usr/local/pgsql
som 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/profile
krä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 variabelnPATH
nä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$PATH
de befintliga sökvägarna. Den nya sökvägen/usr/local/pgsql/bin
lä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/pgsql
till 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ändarenpostgres
fö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.service
trä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
systemd
fö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.