Pärast PostgreSQLi paigaldamist CentOSile ja enne käivitamist nõutav esialgne konfiguratsioon.
Avaldamise kuupäev:17. detsember 2020.
INFOMARTION > Pärast PostgreSQLi paigaldamist CentOSile ja enne käivitamist nõutav esialgne konfiguratsioon.
Ülevaade.
See on esialgne konfiguratsiooniprotseduur, mis on vajalik PostgreSQLi paigaldamiseks ja käivitamiseks CentOSil. Teave põhineb eeldusel, et kasutatakse CentOS7. Lisatud on ka turvalisust käsitlev osa.
PostgreSQL on soovitatav, kuna see on tasuta ja väga funktsionaalne. Olen kuulnud, et PostgreSQLi funktsioonid olid varem aeglased, kuid viimased funktsioonid on paranenud ja on kiiremad.
Versioonid on järgmised.
CentOS versioon | 7.6 (1810) |
---|---|
PostgreSQLi versioon | 9.2.24 |
Sisukord
1. paigaldada
Selles jaotises kirjeldatakse PostgreSQLi paigaldamise korda.
1-1. PostgreSQL-i paigaldamine
Viige PostgreSQL-i paigaldamine läbi käsuga yum. Viige töö läbi root-kasutajana.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install postgresql-server
2. Seadistamise üksikasjad
Selles jaotises kirjeldatakse konfiguratsiooni kuni PostgreSQLi käivitamiseni.
2-1. Looge spetsiaalne PostgreSQL kasutaja.
Tahtsin luua spetsiaalse kasutaja PostgreSQL-i manipuleerimiseks (kasutada psql käske), kuid kasutaja oli juba loodud. Ma mäletan, et ma lõin kasutajaid, kui ma neid varem lõin, nii et võib-olla on spetsifikatsioon muutunud.
Proovige vahetada kasutajaks järgmise käsuga.
[root@hostname ~]# su - postgres
Kuna mõned inimesed võivad tõenäoliselt kasutada PostgreSQLi vanemat versiooni, tuleb mainida, et ka keskkonnamuutujate seadmise protseduur, milleks muudetakse ".bashrc", ei ole enam vajalik.
export PGHOME=/var/lib/pgsql
export PGDATA=/var/lib/pgsql/data
export PGHOST=localhost
Postgres'i kasutajate vaikimisi PGDATA on nüüd '/var/lib/pgsql/data'. Kirjeldatakse, et see viitab failile "/usr/lib/systemd/system/postgresql.service".
2-2. PostgreSQL andmete ettevalmistamine
Luua PostgreSQL andmed. Kodeering on UNICODE. Vaikimisi on loodud kataloog "/var/lib/pgsql/data", kuid ka need, kes seda ei ole teinud, peavad kausta looma.
-bash-4.2$ initdb --encoding=UNICODE
Kuna "PGDATA=/var/lib/pgsql/data" on määratud failis "/usr/lib/systemd/system/postgresql.service", siis loob "initdb --encoding=UNICODE" andmebaasi faili "/var/lib/pgsql/" alla. data/", andmebaas on ehitatud aadressile "/var/lib/pgsql/data/".
2-3. Konfigureerimisfaili muutmine
Lubage IP-aadressidele juurdepääs PostgreSQLile. Seadistage süsteem nii, et see on mitte-lokaalse juurdepääsu jaoks parooliga autentitud.
[root@hostname ~]# vi /var/lib/pgsql/data/postgresql.conf
Muutke faili 'postgresql.conf' järgmiselt.
#------------------------------------------------------------------------------
# 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;
Et lisada, kuna see on oluline osa turvalisusest, siis kui te panete selle seadistuse sisse, siis on teil võimalik pääseda saidile mis tahes IP-lt. Kui IP, millele soovitakse juurdepääsu, on fikseeritud, märkige fikseeritud IP.
See seadistus on vajalik, kui sisselogimine toimub muust serverist kui see, kuhu on paigaldatud PostgreSQL, nt pgadmin. See seadistus ei ole vajalik, kui logite serverisse sisse ja käivitate käsu psql. (kuna ühendus pärineb temast endast (localhost))
See on oluline turvasäte, seega minimeerige sellele juurdepääsu võimaldavate kasutajate arvu nii palju kui võimalik.
Seejärel muutke faili 'pg_hba.conf'.
[root@hostname ~]# vi /var/lib/pgsql/data/pg_hba.conf
Lisage dokumendi lõppu järgmine teave.
#Salasõna autentimine väljastpoolt.
host all all 0.0.0.0/0 md5
Selle seadistuse lisamisel on väljastpoolt ühendamisel nõutav salasõna. Need alad võivad olla tõsised turvaaugud, kui neid ei ole seadistatud või on seadistatud valesti, seega palun seadistage need kõige hoolikamalt.
2-4. bootstrap check
Nüüd, kui eelkonfigureerimine on lõpetatud, kontrollige, et PostgreSQL käivitub. Kuna andmebaas loodi postgres'i kasutajana, siis lülituge enne käivitamist postgres'i kasutajaks.
[root@hostname ~]# su - postgres
-bash-4.2$ pg_ctl start
Pärast PostgreSQLi edukat käivitamist kontrollige, et käsk psql töötaks probleemideta. Käivitage käsk psql postgres'i kasutajana.
-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)
See on OK, kui tagastatakse ülaltoodud tulemused.
2-5. Automaatne käivitusseadistus
Kuigi see ei ole kohustuslik, on raske käivitada PostgreSQL-i iga kord, kui server taaskäivitatakse, seega on see konfigureeritud nii, et PostgreSQL käivitub automaatselt, kui server käivitatakse. See registreerib ka käsu systemctl. Pange tähele, et see protseduur on CentOS7 jaoks, nii et kui te kasutate midagi muud kui CentOS7, peate kasutama selleks käsku Service.
Kontrollida, kas '/usr/lib/systemd/system/postgresql.service' on olemas. Kui ei ole, looge 'postgresql.service' järgmise protseduuri abil. Käivita root-kasutajana.
[root@hostname ~]# touch /etc/systemd/system/postgresql.service
[root@hostname ~]# vi /etc/systemd/system/postgresql.service
Esitatakse järgmine teave.
[Unit]
#Kirjeldus.
Description=PostgreSQL
#Täitmiseelne ja -järgne kontroll.
#Before=xxx.service
After=network.target
[Service]
#Kasutaja ja grupi määramine
User=postgres
Group=postgres
#Kui see on aktiveeritud, määrake olekuks "Aktiveeritud".
Type=oneshot
RemainAfterExit=yes
#Käivitage, peatage ja laadige uuesti.
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 samaväärsed seaded.
WantedBy=multi-user.target
Seejärel registreerige end käsuga systemctl.
[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. Administratiivse kasutaja lisamine PostgreSQL-ile
Looge kasutaja, mida kasutatakse PostgreSQLi rakenduses, eraldi kasutajast, kes kasutab PostgreSQLi Linuxist. See on kasutaja, kes töötab pgadminiga jne. Tahaksin muuta vaikimisi olemasoleva postgres'i kasutaja parooli ja kasutada seda.
Käivita järgmine käsk postgres'i kasutajana.
-bash-4.2$ psql
postgres=# alter role postgres with password '(arvuti) parool';
postgres=# \q
※Sisestage soovitud parool väljale "Parool".
2-7. Tulemüüride puurimine
Lubage juurdepääs PostgreSQL-i pordile, sest tulemüür (iptables CentOS6 ja varasemate versioonide puhul) lubab CentOS7 puhul vaikimisi ainult ssh-juurdepääsu. Lisage ka valik "püsiv", et muuta konfiguratsioon püsivaks.
[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:
Kui seal on kirjas "ports: 5432/tcp", siis on kõik korras.
Juurdepääs pgadmini kaudu. Te peaksite saama sisse logida postgres'i kasutajana äsja määratud parooliga.
3. kokkuvõte
Oleme kirjeldanud PostgreSQLi paigaldamisel vajalikku algkonfiguratsiooni. PostgreSQLi esmane ülesehitamine võib olla keeruline, seega vaadake seda jaotist.
Aitäh, et vaatasite kuni lõpuni.
■INFORMATION
Palun klõpsake siin, et minna INFORMATSIOONI pealehele.
■PROFILE
Palun klõpsake siin profiili jaoks.
■Kontaktandmed.
Artikliga seotud päringute korral võtke meiega ühendust siin.