Cum se instalează PostgreSQL pe Ubuntu, CentOS și Windows?
Publicat: 2021-06-08PostgreSQL este unul dintre cele mai populare sisteme de baze de date obiect-relaționale, multiplatformă, open-source, care este robust, performant și fiabil cu o comunitate puternică.
Datează din 1986, ca parte a proiectului POSTGRES de la Universitatea din California, Berkeley, și are 30 de ani de dezvoltare activă pe platforma sa de bază. Performanța sa constantă de-a lungul anilor și-a dovedit integritatea, arhitectura și extensibilitatea pentru uzul întreprinderilor. Este compatibil cu ACID și oferă suport pentru suplimente puternice, cum ar fi popularul extensitor de baze de date geospațiale PostGIS.
Vom acoperi instalarea PostgreSQL pe platformele comune în acest articol.
Asadar, haideti sa începem.
Ubuntu
PostgreSQL este disponibil pentru toate variantele și versiunile de Ubuntu. Aveți posibilitatea de a alege să instalați și să utilizați versiunea disponibilă în mod implicit cu versiunea dvs. de Ubuntu și acceptată pe durata de viață a acesteia sau să utilizați o anumită versiune adăugând depozitul PostgreSQL și instalând aceeași. Vom acoperi ambele opțiuni aici.
Pentru a utiliza versiunea implicită acceptată furnizată de depozitul Ubuntu, rulați:
$ sudo apt-get update $ sudo apt-get -y install postgresql PostgreSQL Apt Repository acceptă versiunile LTS actuale ale Ubuntu, adică 20.04 , 18.04 și 16.04 . Deși este posibil să nu fie pe deplin acceptat, aceleași pachete funcționează și pe versiunile non-LTS, folosind cea mai apropiată versiune LTS.
Pentru a utiliza depozitul de apt PostgreSQL , urmați acești pași:
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' $ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - $ sudo apt-get update $ sudo apt-get -y install postgresql Pentru a instala o anumită versiune din depozitul PostgreSQL, în loc de doar postgresql care se referă la cea mai recentă versiune, specificați-o ca postgresql-12 :
$ sudo apt-get -y install postgresql-12Depozitul conține, de asemenea, diferite pachete, inclusiv suplimente de la terți. De exemplu, pachetele disponibile în mod obișnuit pentru versiunea 12 a PostgreSQL includ:
| postgresql-client-12 | biblioteci client și binare client |
|---|---|
| postgresql-12 | server de bază de date de bază |
| postgresql-contrib-9.x | module suplimentare furnizate (parte a pachetului postgresql-xx în versiunea 10 și ulterioară) |
| libpq-dev | biblioteci și anteturi pentru dezvoltarea frontend în limbajul C |
| postgresql-server-dev-12 | biblioteci și anteturi pentru dezvoltarea backend-ului limbajului C |
| pgadmin4 | utilitarul de administrare grafică pgAdmin 4 |
După finalizarea instalării, puteți verifica starea serviciului DB utilizând comanda de mai jos:
$ sudo systemctl status postgresql.servicePentru Ubuntu, după instalare, serviciul ar trebui să fie activat și să ruleze ca:
$ sudo systemctl status postgresql.service ● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Sun 2021-06-06 16:06:45 UTC; 46s ago Main PID: 3364 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 1113) Memory: 0B CGroup: /system.slice/postgresql.service Jun 06 16:06:45 ubuntu20cloud systemd[1]: Starting PostgreSQL RDBMS... Jun 06 16:06:45 ubuntu20cloud systemd[1]: Finished PostgreSQL RDBMS. $CentOS
La fel ca Ubuntu, depozitele RHEL/CentOS conțin și o versiune specifică de PostgreSQL, care este acceptată pe toată durata de viață pentru sistemul de operare. Puteți instala același lucru folosind:
$ sudo yum install -y postgresql-serversau puteți folosi DNF dacă utilizați CentOS 8.
$ sudo dnf install -y postgresql-serverRulați comenzile de mai jos după instalare pentru a inițializa DB, activați serviciul PostgreSQL și porniți-l:
$ sudo postgresql-setup initdb $ sudo systemctl enable postgresql.service $ sudo systemctl start postgresql.serviceSau pentru a folosi pachetele direct din depozitele PostgreSQL yum , trebuie să adăugăm depozitul ca:
$ sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpmȘi apoi pentru a instala o versiune specifică de PostgreSQL, cum ar fi versiunea 13, care este cea mai recentă versiune stabilă la momentul scrierii acestui articol, utilizați:
$ sudo yum install -y postgresql13-serverDepozitul yum conține și pachete suplimentare pentru PostgreSQL, dintre care unele dintre cele importante sunt enumerate mai jos:
| postgresql-client | biblioteci și binare client |
|---|---|
| postgresql-server | server de bază de date de bază |
| postgresql-contrib | module suplimentare furnizate |
| postgresql-devel | biblioteci și anteturi pentru dezvoltarea limbajului C |
Rulați pașii de mai jos post-instalare pentru a inițializa DB, activați serviciul PostgreSQL și porniți-l:
$ sudo /usr/pgsql-13/bin/postgresql-13-setup initdb $ sudo systemctl enable postgresql-13 $ sudo systemctl start postgresql-13Puteți verifica starea serviciului DB utilizând comanda de mai jos:
$ sudo systemctl status postgresql.service ● postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2021-06-06 16:39:35 GMT; 1min 12s ago Process: 7011 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=0/SUCCESS) Process: 7005 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) CGroup: /system.slice/postgresql.service ├─7014 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432 ├─7015 postgres: logger process ├─7017 postgres: checkpointer process ├─7018 postgres: writer process ├─7019 postgres: wal writer process ├─7020 postgres: autovacuum launcher process └─7021 postgres: stats collector process Jun 06 16:39:34 centos7cloud systemd[1]: Starting PostgreSQL database server... Jun 06 16:39:35 centos7cloud systemd[1]: Started PostgreSQL database server. $Windows
Programele de instalare Windows pe 32 și 64 de biți sunt disponibile de pe site-ul oficial PostgreSQL aici.
- Puteți descărca binarul aplicabil pe baza versiunii și arhitecturii necesare.


- Vom descărca cea mai recentă versiune disponibilă, care este v13.3 pentru platforma Windows pe 64 de biți. Odată ce descărcarea este finalizată, lansați programul de instalare făcând dublu clic pe acesta.

- Faceți clic pe Următorul pentru a continua.

- Faceți clic pe Următorul pentru a continua cu calea implicită sau pentru a specifica calea de instalare personalizată.

- Puteți păstra componentele implicite selectate și faceți clic pe Următorul pentru a continua.

- Apoi, solicită locația directorului de date; acesta poate fi păstrat ca implicit, cu excepția cazului în care aveți un disc dedicat separat sau un director alocat pentru acesta. Faceți clic pe Următorul pentru a continua.

- Specificați o parolă puternică care va fi atribuită utilizatorului
postgres. Faceți clic pe Următorul când ați terminat.

- Portul implicit
5432ar trebui să fie bun pentru majoritatea cazurilor. Faceți clic pe Următorul pentru a merge la pagina următoare.

- Selectați localitatea pentru DB și faceți clic pe Următorul pentru a continua.

- Toate setările selectate pentru asistentul de instalare vor fi listate pentru a fi verificate și confirmate. Dacă trebuie schimbat ceva, întoarceți-vă și modificați același lucru sau faceți clic pe Următorul pentru a trece la pagina următoare.

- Configurarea va arăta că este gata să continue instalarea. Când este gata, faceți clic pe Următorul pentru a începe instalarea.

- Așteptați finalizarea instalării. Va fi afișată o confirmare pentru același lucru.

- Odată finalizat, puteți debifa
Stack Builderși faceți clic pe Terminare pentru a ieși din asistentul de instalare. Faceți clic pe Start Menu și căutațiSQL Shell (psql)și faceți clic pe pictograma acesteia pentru a deschide shell-ulpsql.

-
SQL Shell (psql)deschideSQL Shell (psql)unde puteți interacționa cu instanța dvs. PostgreSQL după specificarea detaliilor conexiunii. Toate elementele pot fi selectate ca implicite prin simpla apăsare aEntercu excepția parolei, unde trebuie să introduceți parola specificată pentru utilizatorulpostgresîn timpul vrăjitorului de instalare. Acest lucru vă va ateriza în promptulpostgres=#.

Conectați-vă la PostgreSQL
Un utilizator postgres este creat automat după instalare, care are acces superadmin la instanța DB. Pe Linux, ca utilizator privilegiat, puteți trece la acest cont ca:
$ sudo su - postgres Odată postgres , putem reseta parola utilizatorului postgres ca:
$ psql -c "alter user postgres with password '[email protected]'" Și apoi lansați promptul PostgreSQL cu psql ca:
$ psqlAcest lucru vă va duce în promptul PostgreSQL:
$ psql psql (12.7 (Ubuntu 12.7-0ubuntu0.20.04.1)) Type "help" for help. postgres=#La această solicitare, puteți interacționa cu baza de date și puteți efectua sarcini de administrator sau utilizator DB. Ca demonstrație, pașii de mai jos creează o bază de date și un utilizator și apoi atribuie privilegii noului utilizator pentru a lucra la noua bază de date:
postgres=# CREATE DATABASE geekflaredb; CREATE DATABASE postgres=# CREATE USER geekuser WITH ENCRYPTED PASSWORD '[email protected]'; CREATE ROLE postgres=# GRANT ALL PRIVILEGES ON DATABASE geekflaredb to geekuser; GRANT postgres=# Putem apoi lista DB-urile folosind comanda \l :
postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -------------+----------+----------+---------+---------+----------------------- geekflaredb | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =Tc/postgres + | | | | | postgres=CTc/postgres+ | | | | | geekuser=CTc/postgres postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows) postgres=#Acum vă puteți conecta pur și simplu la o bază de date folosind:
postgres=# \c geekflaredb You are now connected to database "geekflaredb" as user "postgres". geekflaredb=#rezumat
PostgreSQL este una dintre bazele de date adoptate pe scară largă în lumea întreprinderilor datorită robusteții, setului de caracteristici și scalabilității. Este ușor de învățat și încearcă să fie compatibil cu standardele SQL.
Există un tutorial disponibil pentru PostgreSQL pe site-ul său oficial.
