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ója9.2.24

Tartalomjegyzék

  1. telepítse a
  2. Beállítási részletek
  3. összefoglaló

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.

.bashrc


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.

postgresql.conf【A változás előtt】


#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

#listen_addresses = 'localhost'         # what IP address(es) to listen on;

postgresql.conf【a változás után】


#------------------------------------------------------------------------------
# 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.

pg_hba.conf


#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.

postgresql.service


[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.