A PostgreSQL CentOS rendszerre történő telepítése után és az indítás előtt szükséges kezdeti konfiguráció.
Megjelenés dátuma:2020. december 17.
INFOMARTION > A PostgreSQL CentOS rendszerre történő telepítése után és az indítás előtt szükséges kezdeti konfiguráció.
Áttekintés.
Ez a PostgreSQL telepítéséhez és indításához szükséges kezdeti konfigurációs eljárás a CentOS rendszeren. Az információk azon a feltételezésen alapulnak, hogy CentOS7-et használnak. A biztonságról szóló rész is szerepel.
A PostgreSQL ajánlott, mivel ingyenes és rendkívül funkcionális. Hallottam, hogy a PostgreSQL függvények régebben lassúak voltak, de a legújabbak javultak és gyorsabbak.
A változatok a következők.
CentOS verzió | 7.6 (1810) |
---|---|
A PostgreSQL verziója | 9.2.24 |
Tartalomjegyzék
1. telepítse a
Ez a szakasz a PostgreSQL telepítésének menetét ismerteti.
1-1. PostgreSQL telepítése
Végezze el a PostgreSQL telepítését a yum parancs segítségével. Végezze el a munkát root felhasználóként.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install postgresql-server
2. Beállítási részletek
Ez a szakasz a PostgreSQL indításáig tartó konfigurációt írja le.
2-1. Hozzon létre egy dedikált PostgreSQL felhasználót.
Szerettem volna létrehozni egy dedikált felhasználót a PostgreSQL kezeléséhez (psql parancsok használata), de a felhasználó már létre volt hozva. Emlékszem, hogy a múltban létrehoztam a felhasználókat, amikor létrehoztam őket, így talán a specifikáció megváltozott.
Próbáljon meg egy felhasználóra váltani a következő paranccsal.
[root@hostname ~]# su - postgres
Mivel egyesek esetleg a PostgreSQL régebbi verzióját használják, meg kell említeni, hogy a környezeti változók beállításának eljárása a következő ".bashrc" módosításával szintén nem szükséges.
export PGHOME=/var/lib/pgsql
export PGDATA=/var/lib/pgsql/data
export PGHOST=localhost
A postgres felhasználók alapértelmezett PGDATA-ja mostantól a '/var/lib/pgsql/data'. A leírás szerint a "/usr/lib/systemd/system/postgresql.service"-re hivatkozik.
2-2. PostgreSQL adatelőkészítés
PostgreSQL adatok létrehozása. A kódolás UNICODE. A "/var/lib/pgsql/data" könyvtárat alapértelmezés szerint létrehoztuk, de aki még nem hozta létre, azt is megkérjük, hogy hozzon létre egy mappát.
-bash-4.2$ initdb --encoding=UNICODE
Mivel a "PGDATA=/var/lib/pgsql/data" be van állítva a "/usr/lib/systemd/system/postgresql.service"-ben, az "initdb --encoding=UNICODE" egy DB-t fog létrehozni a "/var/lib/pgsql/" alatt. data/", a DB a "/var/lib/pgsql/data/" alatt épül fel.
2-3. A konfigurációs fájl módosítása
IP-címek engedélyezése a PostgreSQL eléréséhez. Állítsa be a rendszert úgy, hogy jelszóval hitelesített legyen a nem helyi hozzáféréshez.
[root@hostname ~]# vi /var/lib/pgsql/data/postgresql.conf
Módosítsa a 'postgresql.conf' állományt a következőképpen.
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on;
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
Hozzáteszem, mivel ez a biztonság fontos része, ha ezt a beállítást beiktatod, akkor bármilyen IP-ről hozzáférhetsz az oldalhoz. Ha az elérendő IP-cím fix, kérjük, adja meg a fix IP-címet.
Erre a beállításra akkor van szükség, ha nem arról a szerverről jelentkezik be, ahová a PostgreSQL telepítve van, pl. pgadmin. Erre a beállításra nincs szükség, ha bejelentkezik a kiszolgálóra, és futtatja a psql parancsot. (mivel a kapcsolat saját magától (localhost) származik)
Ez egy fontos biztonsági beállítás, ezért a lehető legkevesebb felhasználó férhet hozzá.
Ezután módosítsa a 'pg_hba.conf' állományt.
[root@hostname ~]# vi /var/lib/pgsql/data/pg_hba.conf
A dokumentum végét egészítse ki a következő információkkal.
#Jelszóhitelesítés kívülről.
host all all 0.0.0.0/0 md5
Ennek a beállításnak a beépítésével jelszóra van szükség, amikor kívülről csatlakozik. Ezek a területek komoly biztonsági rések lehetnek, ha nem vagy rosszul vannak beállítva, ezért kérjük, hogy a lehető legnagyobb gondossággal állítsa be őket.
2-4. bootstrap ellenőrzés
Most, hogy az előkonfiguráció befejeződött, ellenőrizze, hogy a PostgreSQL elindul-e. Mivel a DB postgres felhasználóként épült, indítás előtt váltson át postgres felhasználóra.
[root@hostname ~]# su - postgres
-bash-4.2$ pg_ctl start
A PostgreSQL sikeres elindítása után ellenőrizze, hogy a psql parancs problémamentesen működik-e. Futtassa a psql parancsot a postgres felhasználójaként.
-bash-4.2$ psql -l
Database List
Name | Owner | Encoding | Collation Order | Ctype(conversion operator) | Access rights
-----------+----------+------------------+--------------------+----------------------------+-----------------------
postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 lines)
Nem baj, ha a fenti eredményeket kapja vissza.
2-5. Automatikus indítás beállítása
Bár nem kötelező, de nehéz a PostgreSQL-t minden egyes szerver újraindításakor elindítani, ezért úgy van beállítva, hogy a PostgreSQL automatikusan elinduljon a szerver indításakor. A systemctl parancsra is regisztrál. Kérjük, vegye figyelembe, hogy ez az eljárás a CentOS7-re vonatkozik, így ha a CentOS7-től eltérő rendszert használ, akkor a Service parancsot kell használnia.
Ellenőrizze, hogy létezik-e a '/usr/lib/systemd/system/postgresql.service'. Ha nem, hozza létre a 'postgresql.service' állományt a következő eljárással. Futtassa root felhasználóként.
[root@hostname ~]# touch /etc/systemd/system/postgresql.service
[root@hostname ~]# vi /etc/systemd/system/postgresql.service
A következő információkat adjuk meg.
[Unit]
#Leírás.
Description=PostgreSQL
#Végrehajtás előtti és utáni ellenőrzés.
#Before=xxx.service
After=network.target
[Service]
#Felhasználó és csoport kijelölése
User=postgres
Group=postgres
#Az aktiválás után állítsa az állapotot Aktiválva értékre.
Type=oneshot
RemainAfterExit=yes
#Indítás, leállítás és újratöltés.
Environment=PGDATA=/var/lib/pgsql/data
ExecStart=/usr/bin/pg_ctl start -D /var/lib/pgsql/data
ExecStop=/usr/bin/pg_ctl stop
ExecReload=/usr/bin/pg_ctl reload
[Install]
#Runlevel 3 egyenértékű beállítások.
WantedBy=multi-user.target
Ezután regisztráljon a systemctl paranccsal.
[root@hostname ~]# systemctl enable postgresql
[root@hostname ~]# systemctl is-enabled postgresql
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep postgresql
postgresql.service enabled
[root@hostname ~]# systemctl daemon-reload
2-6. Adminisztrátori felhasználó hozzáadása a PostgreSQL-hez
Hozzon létre egy felhasználót, amelyet a PostgreSQL alkalmazáson belül kell használni, elkülönülve attól a felhasználótól, aki a PostgreSQL-t Linuxról működteti. Ez a felhasználó a pgadmin stb. programmal való működés során. Szeretném megváltoztatni az alapértelmezés szerint létező postgres felhasználó jelszavát és használni.
Futtassa a következő parancsot a postgres felhasználójaként.
-bash-4.2$ psql
postgres=# alter role postgres with password '(számítógép) jelszó';
postgres=# \q
※Írja be a beállítani kívánt jelszót a "Jelszó" mezőbe.
2-7. Tűzfalak fúrása
Engedélyezze a PostgreSQL porthoz való hozzáférést, mivel a tűzfal (iptables a CentOS6 és korábbi rendszerek esetében) alapértelmezés szerint csak az ssh hozzáférést engedélyezi a CentOS7 rendszeren. Adja hozzá az 'állandó' opciót is, hogy a konfiguráció állandó legyen.
[root@hostname ~]# firewall-cmd --permanent --zone=public --add-port=5432/tcp
[root@hostname ~]# firewall-cmd --reload
[root@hostname ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client http https ssh
ports: 8080/tcp 5432/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Ha azt írja, hogy "portok: 5432/tcp", akkor rendben van.
Hozzáférés a pgadminon keresztül. Be kell tudnia jelentkezni postgres felhasználóként az imént beállított jelszóval.
3. összefoglaló
Leírtuk a PostgreSQL telepítésekor szükséges kezdeti konfigurációt. A PostgreSQL kezdeti felépítése nehézségekbe ütközhet, ezért kérjük, olvassa el ezt a részt.
Köszönjük, hogy a végéig figyeltek.