Jak zainstalować PostgreSQL przy użyciu kodu źródłowego w systemie Linux
PostgreSQL, system zarządzania relacyjnymi bazami danych typu open source, jest powszechnie znany ze swoich niezawodnych funkcji i rozszerzalności. Chociaż wiele dystrybucji Linuksa udostępnia PostgreSQL za pośrednictwem menedżerów pakietów, instalacja go ze źródła pozwala na większą personalizację i kontrolę.
W tym artykule wyjaśnimy, jak zainstalować PostgreSQL 16 za pomocą instalacji kodu źródłowego w systemach Linux.
Jeśli szukasz łatwiejszej metody instalacji za pomocą menedżera pakietów dystrybucyjnych, postępuj zgodnie z poniższymi instrukcjami:
Warunki wstępne
Zanim przystąpisz do procesu instalacji PostgreSQL, upewnij się, że Twój system spełnia następujące wymagania wstępne:
- Dystrybucja Linuksa (w tym przewodniku do celów demonstracyjnych użyjemy Debian).
- System Linux z użytkownikiem innym niż root i uprawnieniami sudo.
- Zainstalowane są niezbędne narzędzia programistyczne, takie jak GCC i Make.
1. Zainstaluj wymagania wstępne w systemie Linux
Najpierw zainstaluj niezbędne narzędzia programistyczne, takie jak GCC i Make, korzystając z menedżera pakietów dystrybucyjnych, jak pokazano.
W dystrybucjach opartych na RHEL, takich jak CentOS, Fedora, Rocky Linux i Alma Linux:
sudo yum groupinstall development-tools
sudo yum install zlib-devel readline-devel libicu-devel
W dystrybucjach opartych na Debianie, takich jak Ubuntu i Linux Mint.
sudo apt install gcc build-essential zlib1g-dev libreadline6-dev libicu-dev pkg-config
2. Pobierz kod źródłowy PostgreSQL
Po zainstalowaniu niezbędnych wymagań wstępnych pobierz plik tar z kodem źródłowym z oficjalnej strony Postgres, używając następującego polecenia wget bezpośrednio w systemie. W chwili pisania tego tekstu najnowsza wersja to PostgreSQL 16.1.
wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2
Następnie użyj polecenia tar, aby wyodrębnić pobrany plik tarball. Zostanie utworzony nowy katalog o nazwie postgresql-16.1.
tar -xvf postgresql-16.1.tar.bz2
cd postgresql-16.1/
ls -l
Przykładowy wynik:
-rw-r--r--. 1 tecmint tecmint 365 Nov 7 03:34 aclocal.m4
drwxr-xr-x. 2 tecmint tecmint 4096 Nov 7 03:47 config
-rwxr-xr-x. 1 tecmint tecmint 584560 Nov 7 03:34 configure
-rw-r--r--. 1 tecmint tecmint 87292 Nov 7 03:34 configure.ac
drwxr-xr-x. 61 tecmint tecmint 4096 Nov 7 03:47 contrib
-rw-r--r--. 1 tecmint tecmint 1192 Nov 7 03:34 COPYRIGHT
drwxr-xr-x. 3 tecmint tecmint 4096 Nov 7 03:47 doc
-rw-r--r--. 1 tecmint tecmint 4288 Nov 7 03:34 GNUmakefile.in
-rw-r--r--. 1 tecmint tecmint 277 Nov 7 03:34 HISTORY
-rw-r--r--. 1 tecmint tecmint 64601 Nov 7 03:48 INSTALL
-rw-r--r--. 1 tecmint tecmint 1875 Nov 7 03:34 Makefile
-rw-r--r--. 1 tecmint tecmint 102017 Nov 7 03:47 meson.build
-rw-r--r--. 1 tecmint tecmint 6266 Nov 7 03:34 meson_options.txt
-rw-r--r--. 1 tecmint tecmint 1213 Nov 7 03:34 README
drwxr-xr-x. 16 tecmint tecmint 4096 Nov 7 03:48 src
3. Skonfiguruj PostgreSQL ze źródła
Ponieważ postgres jest bazą danych typu open source, można ją zbudować z kodu źródłowego zgodnie z własnymi potrzebami/wymaganiami. możemy dostosować proces kompilacji i instalacji, dostarczając jedną lub więcej opcji wiersza poleceń dla różnych dodatkowych funkcji.
Użyj poniższego polecenia, aby uzyskać pomoc dotyczącą różnych opcji i użycia konfiguracji, jak pokazano.
./configure --help
Teraz uruchom skrypt konfiguracyjny, który sprawdzi twój system pod kątem zależności i odpowiednio skonfiguruje kompilację.
./configure
4. Zainstaluj PostgreSQL ze źródła
Po skonfigurowaniu użyj następujących poleceń, aby zbudować i zainstalować PostgreSQL ze źródła.
make
sudo make install
5. Tworzenie użytkownika Postgres
Teraz utwórz użytkownika i katalog postgres, który będzie używany jako katalog data do inicjowania klastra bazy danych. Właściciel tego katalogu data powinien być użytkownikiem postgres, a uprawnienia powinny wynosić 700. Dla naszej wygody należy także ustawić ścieżkę do plików binarnych postgresql.
sudo useradd postgres
sudo passwd postgres
sudo mkdir -p /pgdatabase/data
sudo chown -R postgres: /pgdatabase/data
sudo sh -c "echo 'export PATH=$PATH:/opt/PostgreSQL/bin' > /etc/profile.d/postgres.sh"
source /etc/profile.d/postgres.sh
6. Inicjowanie bazy danych Postgres
Teraz zainicjuj bazę danych, używając następującego polecenia jako użytkownik postgres, zanim użyjesz jakichkolwiek poleceń postgres.
su postgres
initdb -D /pgdatabase/data/ -U postgres -W
Gdzie -D
jest lokalizacją tego klastra bazy danych lub możemy powiedzieć, że jest to katalog danych, w którym chcemy zainicjować klaster bazy danych, -U
oznacza nazwę superużytkownika bazy danych i -W
dla monitu o podanie hasła dla superużytkownika db.
Więcej informacji i opcji można znaleźć w initdb --help
.
7. Uruchom usługę PostgreSQL
Po zainicjowaniu bazy danych uruchom klaster bazy danych lub jeśli chcesz zmienić port lub odsłuchać adres serwera, edytuj plik /pgdatabase/data/postgresql.conf w katalogu danych serwer bazy danych.
nano /pgdatabase/data/postgresql.conf
Teraz uruchom usługę PostgreSQL.
pg_ctl -D /pgdatabase/data/ start
Po uruchomieniu bazy danych sprawdź stan procesu serwera postgres za pomocą następujących poleceń ps i netstat.
ps -ef |grep -i postgres
netstat -apn |grep -i 51751
Widzimy, że klaster bazy danych działa prawidłowo, a dzienniki uruchamiania można znaleźć w lokalizacji określonej za pomocą opcji -l
podczas uruchamiania klastra bazy danych.
pg_ctl -D /pgdatabase/data/ -l logfile start
8. Połącz się z PostgreSQL
Teraz połącz się z klastrem bazy danych i utwórz bazę danych za pomocą następujących poleceń.
psql -p 5432
postgres=# create database test;
postgres=# \l to list all databases in cluster
postgres=# \q to quit form postgres console
Jeśli szukasz narzędzia graficznego o nazwie pgAdmin do zarządzania PostgreSQL, postępuj zgodnie z tymi przewodnikami, aby zainstalować pgAdmin w swojej dystrybucji Linuksa.
Wniosek
Pomyślnie zainstalowałeś PostgreSQL ze źródła w swoim systemie Linux. Ten proces zapewnia elastyczność i kontrolę nad instalacją PostgreSQL, umożliwiając dostosowanie jej do konkretnych wymagań.