Jak zainstalować PostgreSQL na Ubuntu, CentOS i Windows?
Opublikowany: 2021-06-08PostgreSQL to jeden z popularnych, wieloplatformowych systemów obiektowo-relacyjnych baz danych typu open source, który jest solidny, wydajny i niezawodny w silnej społeczności.
Pochodzi z 1986 roku w ramach projektu POSTGRES na Uniwersytecie Kalifornijskim w Berkeley i prowadzi 30 lat aktywnego rozwoju na swojej głównej platformie. Jego stała wydajność przez lata potwierdziła jego integralność, architekturę i rozszerzalność do użytku w przedsiębiorstwach. Jest zgodny z ACID i oferuje obsługę potężnych dodatków, takich jak popularny przedłużacz bazy danych geoprzestrzennych PostGIS.
W tym artykule omówimy instalację PostgreSQL na popularnych platformach.
Więc zacznijmy.
Ubuntu
PostgreSQL jest dostępny dla wszystkich smaków i wersji Ubuntu. Masz wybór, czy chcesz zainstalować i używać wersji dostępnej domyślnie z twoją wersją Ubuntu i obsługiwaną przez cały okres jej istnienia, czy też użyć określonej wersji, dodając repozytorium PostgreSQL i instalując to samo. Omówimy tutaj obie opcje.
Aby użyć domyślnej obsługiwanej wersji dostarczonej przez repozytorium Ubuntu, uruchom:
$ sudo apt-get update $ sudo apt-get -y install postgresql Repozytorium PostgreSQL Apt obsługuje aktualne wersje LTS Ubuntu, tj. 20.04 , 18.04 i 16.04 . Chociaż może nie być w pełni obsługiwany, te same pakiety działają również w wersjach innych niż LTS, używając najbliższej wersji LTS.
Aby użyć repozytorium PostgreSQL apt , wykonaj następujące kroki:
$ 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 Aby zainstalować konkretną wersję z repozytorium PostgreSQL, zamiast samego postgresql który odnosi się do najnowszej wersji, określ ją jako postgresql-12 :
$ sudo apt-get -y install postgresql-12Repozytorium zawiera również różne pakiety, w tym dodatki innych firm. Na przykład powszechnie dostępne pakiety dla wersji 12 PostgreSQL obejmują:
| postgresql-klient-12 | biblioteki klienta i pliki binarne klienta |
|---|---|
| postgresql-12 | podstawowy serwer bazy danych |
| postgresql-contrib-9.x | dodatkowe dostarczane moduły (część pakietu postgresql-xx w wersji 10 i nowszych) |
| libpq-dev | biblioteki i nagłówki do programowania frontendu w języku C |
| postgresql-server-dev-12 | biblioteki i nagłówki do programowania backendu w języku C |
| pgadmin4 | Graficzne narzędzie administracyjne pgAdmin 4 |
Po zakończeniu instalacji możesz sprawdzić stan usługi DB za pomocą poniższego polecenia:
$ sudo systemctl status postgresql.serviceW przypadku Ubuntu po instalacji usługa powinna być włączona i działać w następujący sposób:
$ 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
Podobnie jak Ubuntu, repozytoria RHEL/CentOS zawierają również określoną wersję PostgreSQL, która jest obsługiwana przez cały okres istnienia systemu operacyjnego. Możesz zainstalować to samo za pomocą:
$ sudo yum install -y postgresql-serverlub możesz użyć DNF, jeśli używasz CentOS 8.
$ sudo dnf install -y postgresql-serverUruchom poniższe polecenia po instalacji, aby zainicjować DB, włączyć usługę PostgreSQL i uruchomić ją:
$ sudo postgresql-setup initdb $ sudo systemctl enable postgresql.service $ sudo systemctl start postgresql.serviceLub, aby korzystać z pakietów bezpośrednio z repozytoriów PostgreSQL yum , musimy dodać repozytorium jako:
$ sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpmA następnie, aby zainstalować konkretną wersję PostgreSQL, taką jak wersja 13, która jest najnowszą stabilną wersją w momencie pisania tego artykułu, użyj:
$ sudo yum install -y postgresql13-serverRepozytorium yum zawiera również dodatkowe pakiety dla PostgreSQL, z których niektóre z najważniejszych są wymienione poniżej:
| klient-postgresql | biblioteki i pliki binarne klientów |
|---|---|
| serwer postgresql | podstawowy serwer bazy danych |
| postgresql-dokładanie | dodatkowe dostarczone moduły |
| postgresql-devel | biblioteki i nagłówki do rozwoju języka C |
Wykonaj poniższe kroki po instalacji, aby zainicjować DB, włączyć usługę PostgreSQL i uruchomić ją:
$ sudo /usr/pgsql-13/bin/postgresql-13-setup initdb $ sudo systemctl enable postgresql-13 $ sudo systemctl start postgresql-13Możesz sprawdzić stan usługi DB za pomocą poniższego polecenia:
$ 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. $Okna
Instalatory Windows 32-bit i 64-bit są dostępne na oficjalnej stronie PostgreSQL tutaj.
- Możesz pobrać odpowiedni plik binarny w oparciu o wymaganą wersję i architekturę.


- Będziemy pobierać najnowszą dostępną wersję, czyli v13.3 na 64-bitową platformę Windows. Po zakończeniu pobierania uruchom instalator, klikając go dwukrotnie.

- Kliknij Dalej, aby kontynuować.

- Kliknij Dalej, aby kontynuować z domyślną ścieżką lub określ niestandardową ścieżkę instalacji.

- Możesz pozostawić wybrane domyślne komponenty i kliknąć Dalej, aby kontynuować.

- Następnie prosi o lokalizację katalogu danych; można to zachować jako domyślne, chyba że masz do niego przypisany osobny dedykowany dysk lub katalog. Kliknij Dalej, aby kontynuować.

- Określ silne hasło, które zostanie przypisane użytkownikowi
postgres. Po zakończeniu kliknij Dalej.

- Domyślny port
5432powinien być dobry w większości przypadków. Kliknij Dalej, aby przejść do następnej strony.

- Wybierz ustawienia regionalne bazy danych i kliknij Dalej, aby kontynuować.

- Wszystkie wybrane ustawienia kreatora instalacji zostaną wyświetlone, aby można je było przejrzeć i potwierdzić. Jeśli coś wymaga zmiany, wróć i zmień to samo lub kliknij Dalej, aby przejść do następnej strony.

- Instalator pokaże, że jest gotowy do kontynuowania instalacji. Gdy wszystko będzie gotowe, kliknij Dalej, aby rozpocząć instalację.

- Poczekaj na zakończenie instalacji. Zostanie wyświetlone potwierdzenie tego samego.

- Po zakończeniu możesz odznaczyć
Stack Builderi kliknąć Zakończ, aby wyjść z kreatora instalacji. Kliknij menu Start i wyszukajSQL Shell (psql)i kliknij jego ikonę, aby otworzyć powłokępsql.

-
SQL Shell (psql)otwiera się, gdzie możesz wchodzić w interakcję z instancją PostgreSQL po określeniu szczegółów połączenia. Wszystkie elementy można wybrać jako domyślne, naciskając klawiszEnterz wyjątkiem hasła, w którym należy wprowadzić hasło określone dla użytkownikapostgrespodczas kreatora instalacji. Spowoduje to wyświetlenie monitupostgres=#.

Połącz się z PostgreSQL
Użytkownik postgres jest tworzony automatycznie po instalacji, który ma dostęp superadmin do instancji DB. W systemie Linux jako uprzywilejowany użytkownik możesz przełączyć się na to konto jako:
$ sudo su - postgres Po postgres możemy zresetować hasło użytkownika postgres jako:
$ psql -c "alter user postgres with password '[email protected]'" A następnie uruchom znak zachęty PostgreSQL z psql jako:
$ psqlSpowoduje to wyświetlenie monitu PostgreSQL:
$ psql psql (12.7 (Ubuntu 12.7-0ubuntu0.20.04.1)) Type "help" for help. postgres=#W tym wierszu możesz wchodzić w interakcję z bazą danych i wykonywać zadania administratora lub użytkownika bazy danych. W ramach demonstracji poniższe kroki tworzą bazę danych i użytkownika, a następnie przydzielają nowemu użytkownikowi uprawnienia do pracy na nowej bazie danych:
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=# Następnie możemy wyświetlić listę baz danych za pomocą polecenia \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=#Teraz możesz po prostu połączyć się z bazą danych za pomocą:
postgres=# \c geekflaredb You are now connected to database "geekflaredb" as user "postgres". geekflaredb=#Streszczenie
PostgreSQL jest jedną z powszechnie stosowanych baz danych w świecie przedsiębiorstw ze względu na jej niezawodność, zestaw funkcji i skalowalność. Jest łatwy do nauczenia i stara się być zgodny ze standardami SQL.
Na oficjalnej stronie PostgreSQL dostępny jest samouczek.
