۱. نصب و مقداردهی اولیه
برخلاف Debian و Ubuntu، در خانوادهی RHEL پایگاه داده پس از نصب خودکار ساخته نمیشود:
sudo dnf install -y postgresql-server postgresql-contrib
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresqlبرای دیدن نسخههای دیگر در دسترس (در نسخهی ۹): dnf module list postgresql
۲. روش احراز هویت
پیشفرض برای اتصالهای TCP روش ident است که برای برنامهها مناسب نیست. فایل را باز کنید:
sudo nano /var/lib/pgsql/data/pg_hba.conflocal all postgres peer
local all all scram-sha-256
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256در /var/lib/pgsql/data/postgresql.conf مطمئن شوید:
password_encryption = scram-sha-256sudo systemctl restart postgresql۳. نقش و پایگاه داده
sudo -u postgres createuser --pwprompt hr
sudo -u postgres createdb -O hr hr
psql -h 127.0.0.1 -U hr -d hr -c 'select 1;'۴. دسترسی از سرور برنامه
اگر برنامه روی سرور دیگری است:
# postgresql.conf
listen_addresses = 'localhost,192.168.10.31'# pg_hba.conf
host hr hr 192.168.10.40/32 scram-sha-256sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.10.40/32 service name=postgresql accept'
sudo firewall-cmd --reload
sudo systemctl restart postgresql