Повратак на блог
Јануар 27, 2026Водичи

Како инсталирати PostgreSQL на Linux серверу

Комплетан водич о инсталацији, конфигурацији и обезбеђењу PostgreSQL сервера базе података на Ubuntu и CentOS.

Како инсталирати PostgreSQL на Linux серверу

PostgreSQL је моћан, open-source релациони систем за управљање базама података познат по својој поузданости, богатству функција и усклађености са стандардима. Овај водич ће вам помоћи да инсталирате и конфигуришете PostgreSQL на вашем Hiddence Linux серверу.

Инсталација PostgreSQL на Ubuntu/Debian

PostgreSQL је доступан у подразумеваним репозиторијумима. Инсталирајте најновију верзију:

bash
sudo apt update
sudo apt install postgresql postgresql-contrib -y

# Покрените и омогућите PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql

# Потврдите инсталацију
sudo systemctl status postgresql
psql --version

Инсталација PostgreSQL на RHEL / CentOS / AlmaLinux / Rocky Linux

За RHEL засноване дистрибуције, прво морате додати PostgreSQL репозиторијум:

bash
# Инсталирајте PostgreSQL репозиторијум
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# За CentOS 8/Rocky Linux 8, користите:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Инсталирајте PostgreSQL
sudo dnf install -y postgresql15-server postgresql15

# Иницијализујте базу података
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

# Покрените и омогућите PostgreSQL
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

# Потврдите инсталацију
sudo systemctl status postgresql-15
psql --version

Потврда инсталације

bash
# Проверите статус PostgreSQL
sudo systemctl status postgresql

# Проверите верзију PostgreSQL
psql --version

# Повежите се са PostgreSQL (Ubuntu/Debian)
sudo -u postgres psql

# Повежите се са PostgreSQL (CentOS/RHEL)
sudo -u postgres psql -d postgres

Обезбеђење PostgreSQL

Поставите лозинку за корисника postgres:

bash
# Повежите се са PostgreSQL
sudo -u postgres psql

# Поставите лозинку за корисника postgres
ALTER USER postgres PASSWORD 'ваша_јака_лозинка';

# Изађите из PostgreSQL
\q

Креирање базе података и корисника

bash
# Повежите се као корисник postgres
sudo -u postgres psql

# Креирајте базу података
CREATE DATABASE myapp_db;

# Креирајте корисника
CREATE USER app_user WITH PASSWORD 'јака_лозинка';

# Доделите привилегије
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;

# Изађите
\q

Управљање корисницима

bash
# Повежите се са PostgreSQL
sudo -u postgres psql

# Листа свих корисника
\du

# Креирајте новог корисника
CREATE USER newuser WITH PASSWORD 'лозинка';

# Доделите привилегије
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;

# Одузмите привилегије
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;

# Обришите корисника
DROP USER newuser;

Омогућавање удаљених веза

Да бисте дозволили удаљене везе, уредите конфигурационе фајлове PostgreSQL:

bash
# Уредите pg_hba.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/pg_hba.conf

# Уредите pg_hba.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/pg_hba.conf

# Додајте линију:
host    all             all             0.0.0.0/0               md5

# Уредите postgresql.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/postgresql.conf

# Уредите postgresql.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/postgresql.conf

# Промените:
listen_addresses = '*'

# Рестартујте PostgreSQL
sudo systemctl restart postgresql

Основне PostgreSQL команде

bash
# Повежите се са базом података
psql -U app_user -d myapp_db

# Листа база података
\l

# Повежите се са базом података
\c database_name

# Листа табела
\dt

# Опишите табелу
\d table_name

# Извршите SQL фајл
psql -U app_user -d myapp_db -f script.sql

# Направите резервну копију базе података
pg_dump -U app_user myapp_db > backup.sql

# Вратите базу података
psql -U app_user -d myapp_db < backup.sql

Корисни савети

  • Увек користите јаке лозинке за кориснике базе података
  • Ограничите удаљени приступ на специфичне IP адресе у pg_hba.conf
  • Редовно правите резервне копије ваших база података користећи pg_dump
  • Пратите PostgreSQL логове: /var/log/postgresql/ (Ubuntu) или /var/lib/pgsql/15/data/log/ (CentOS)
  • Користите pool веза (pgBouncer) за апликације са високим саобраћајем
  • Држите PostgreSQL ажуриран на најновију стабилну верзију за безбедносне закрпе