Am compilat și instalat cu succes cea mai recentă versiune PostgreSQL (17.4) pe Ubuntu ARM32.
Comenzile din acest articol provin în principal din documentația oficială PostgreSQL. Am testat efectiv fiecare comandă din acest articol.
Puteți vedea sistemele pe care se poate instala cu succes aici Fermă de construcție PostgreSQL
Compilare și instalare PostgreSQL 17.4
1. Creați un director și accesați directorul
mkdir postgresql && cd postgresql
mkdir postgresql
: Creează un director nou numitpostgresql
.cd postgresql
: Accesează directorulpostgresql
tocmai creat.
2. Descărcați codul sursă PostgreSQL
wget https://ftp.postgresql.org/pub/source/v17.4/postgresql-17.4.tar.bz2
wget
: Descarcă un fișier de la URL-ul specificat.https://..../postgresql-17.4.tar.bz2
: Link de descărcare pentru pachetul sursă comprimat al versiunii PostgreSQL 17.4. Dacă linkul nu mai este valid, puteți căuta singur un link nou.
3. Dezarhivați pachetul de cod sursă
tar xjf postgresql-17.4.tar.bz2
-
tar
: Utilizat pentru a procesa fișierele comprimate.tar
. -
xjf
: Opțiuni pentru dezarhivarea fișierelortar
:x
: Dezarhivează fișierele.j
: Utilizează formatul de compresie bzip2 (.bz2).f
: Specifică fișierul care trebuie dezarhivat.
-
postgresql-17.4.tar.bz2
: Numele fișierului care trebuie dezarhivat.
4. Accesați directorul de cod sursă dezarhivat
cd postgresql-17.4
- Accesează directorul de cod sursă PostgreSQL 17.4 dezarhivat.
5. Instalați pachetele dependente
sudo apt install libssl-dev libsystemd-dev libxml2-dev libreadline-dev
sudo apt install
: Utilizează managerul de pacheteapt
pentru a instala pachetele.libssl-dev
,libsystemd-dev
,libxml2-dev
,libreadline-dev
: Instalează bibliotecile de dezvoltare necesare pentru compilarea PostgreSQL, respectiv biblioteca SSL, biblioteca Systemd, biblioteca XML și biblioteca Readline.
6. Configurați opțiunile de compilare
./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --with-systemd
./configure
: Pregătește mediul de compilare pentru PostgreSQL.--prefix=/usr/local/pgsql
: Specifică directorul de instalare PostgreSQL ca/usr/local/pgsql
.--with-openssl
: Activează suportul OpenSSL.--with-libxml
: Activează suportul XML.--with-systemd
: Activează suportul Systemd.
7. Compilați codul sursă
make -j$(nproc)
make
: Inițiază procesul de compilare.-j$(nproc)
: Utilizeazănproc
(numărul de nuclee CPU ale sistemului) pentru a executa sarcini de compilare în paralel, accelerând procesul de compilare.
8. Instalați PostgreSQL
sudo make install
sudo make install
: Utilizeazăsudo
pentru a executa instalarea cu permisiuni de administrator,make install
va instala fișierele compilate în sistem, instalând în directorul/usr/local/pgsql
specificat în comanda./configure
anterioară.
9. Setați variabilele de mediu
Utilizați un editor de text 1. Editați fișierul /etc/profile
:
sudo nano /etc/profile
sudo
: Indică rularea comenzii cu permisiuni de superutilizator (administrator). Deoarece modificarea fișierului/etc/profile
necesită permisiuni de administrator.nano
: Acesta este un editor de text, utilizat frecvent în mediile terminal pentru editarea fișierelor./etc/profile
: Acesta este un fișier de configurare global, utilizat pentru a seta variabilele de mediu și configurarea de pornire la nivelul sistemului. Toți utilizatorii vor executa setările din acest fișier când se conectează la sistem.
- Adăugați variabilele de mediu:
export PATH=/usr/local/pgsql/bin:$PATH
export
: Utilizat pentru a seta o variabilă de mediu, făcând-o disponibilă în procesul curent și în subprocesele.PATH
: Aceasta este o variabilă de mediu care conține o listă de directoare cu fișiere executabile din sistem. Când execută o comandă, sistemul va căuta comanda în directoarele enumerate în variabilaPATH
./usr/local/pgsql/bin
: Acesta este directorul cu fișiere executabile ale bazei de date PostgreSQL, adăugarea acestuia înseamnă că fișierele executabile din acest director (cum ar fipsql
) vor fi recunoscute de sistem.:$PATH
: Aici,$PATH
reprezintă căile existente, adăugând noua cale/usr/local/pgsql/bin
în fațaPATH
-ului existent. În acest fel, sistemul va verifica mai întâi noul director și apoi va verifica căile existente.
Această comandă are rolul de a adăuga directorul cu fișiere executabile PostgreSQL la variabila de mediu PATH
a sistemului, asigurându-vă că puteți rula direct comenzile PostgreSQL (cum ar fi psql
) în linia de comandă, fără a fi nevoie să furnizați calea completă. Setările modificate se vor aplica tuturor utilizatorilor
Inițializarea bazei de date PostgreSQL
Aceste comenzi sunt utilizate în principal pentru a configura manual serverul de baze de date PostgreSQL pe un server Linux, inclusiv crearea unui utilizator de sistem PostgreSQL, inițializarea bazei de date, pornirea serviciului de baze de date și înregistrarea acestuia ca serviciu systemd
, astfel încât să pornească automat la pornire.
1. Creați utilizatorul PostgreSQL
sudo useradd -m -U -r -d /var/lib/postgresql -s /bin/bash postgres
sudo
: Execută comanda cu permisiuni de superutilizator.useradd
: Creează un utilizator nou.-m
: Creează directorul home al utilizatorului.-U
: Creează și un grup de utilizatori cu același nume ca și numele de utilizator.-r
: Creează un utilizator de sistem (UID-ul utilizatorului de sistem este mai mic de 1000, nu este utilizat pentru conectare).-d /var/lib/postgresql
: Specifică directorul home ca/var/lib/postgresql
.-s /bin/bash
: Specifică shell-ul ca/bin/bash
.postgres
: Nume de utilizator.
Această comandă creează un utilizator de sistem dedicat PostgreSQL, postgres
.
2. Schimbați proprietarul directorului PostgreSQL
sudo chown postgres /usr/local/pgsql
chown postgres /usr/local/pgsql
: Schimbă proprietarul directorului/usr/local/pgsql
în utilizatorulpostgres
, permițându-i să citească și să scrie în director.
3. Setați parola utilizatorului PostgreSQL
sudo passwd postgres
passwd postgres
: Modifică parola utilizatoruluipostgres
.
4. Comutați la utilizatorul PostgreSQL
su postgres
su postgres
: Comută la utilizatorulpostgres
, astfel încât să puteți utiliza comenzile aferente PostgreSQL.
5. Inițializați baza de date
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
initdb -D /usr/local/pgsql/data
: Inițializează stocarea bazei de date în directorul/usr/local/pgsql/data
.
6. Porniți baza de date PostgreSQL
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
postgres -D /usr/local/pgsql/data
: Pornește baza de date ca procespostgres
, datele sunt stocate în directorul/usr/local/pgsql/data
.
7. Într-o altă sesiune de terminal, accesați baza de date
su postgres
/usr/local/pgsql/bin/psql
psql
: Instrumentul de interacțiune în linia de comandă PostgreSQL, accesează shell-ul bazei de date.
8. Setați parola utilizatorului bazei de date
ALTER USER postgres WITH PASSWORD 'your_new_password';
- Modifică parola utilizatorului bazei de date
postgres
.
9. Creați un serviciu systemd
sudo nano /etc/systemd/system/postgresql.service
nano /etc/systemd/system/postgresql.service
: Editează fișierul de configuraresystemd
, permițând rularea PostgreSQL ca serviciu.
Conținutul fișierului de configurare:
[Unit]
Description=Server PostgreSQL
#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=Server PostgreSQL
: Descrie că acest serviciu este serverul PostgreSQL.After=network-online.target
: Așteaptă ca conexiunea de rețea să fie disponibilă înainte de a porni PostgreSQL.User=postgres
: Rulează ca utilizatorpostgres
.ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
: Pornește serverul PostgreSQL.ExecReload=/bin/kill -HUP $MAINPID
: Trimite semnalulHUP
la reîncărcare.KillMode=mixed
: Mod de terminare mixt.KillSignal=SIGINT
: Semnal pentru terminarea procesului PostgreSQL.TimeoutSec=infinity
: Timeout setat la infinit.
10. Activați serviciul systemd
sudo systemctl daemon-reload
sudo systemctl start postgresql
sudo systemctl status postgresql
sudo systemctl enable postgresql
daemon-reload
: Reîncarcă configurațiasystemd
, făcând efectiv noulpostgresql.service
.start postgresql
: Pornește serviciul PostgreSQL.status postgresql
: Verifică starea de funcționare PostgreSQL.enable postgresql
: Pornește automat PostgreSQL la pornire.
Scopul acestor comenzi este:
- Crearea unui utilizator
postgres
dedicat pentru rularea PostgreSQL. - Inițializarea directorului de stocare a bazei de date.
- Pornirea bazei de date PostgreSQL și accesarea liniei de comandă interactivă
psql
. - Configurarea
systemd
pentru a rula PostgreSQL ca serviciu de sistem și pentru a accepta pornirea automată la pornire.
În acest fel, serverul PostgreSQL poate funcționa normal și poate porni automat când sistemul pornește.
Referințe
PostgreSQL: Documentație: 17: Capitolul 17. Instalare din codul sursă
Alte versiuni ale acestei pagini web
Acest articol are versiuni în mai multe limbi.
Dacă doriți să postați un comentariu, vă rugăm să vizitați următoarele pagini web:
Aceste pagini web acceptă doar navigarea, nu puteți posta comentarii sau mesaje, dar oferă mai multe opțiuni lingvistice și au un timp de încărcare mai scurt:
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
Acest articol a fost tradus din Chinese (Simplified) în Romanian prin AI.