Alustava konfigurointi vaaditaan PostgreSQL:n asennuksen jälkeen CentOS-käyttöjärjestelmässä ja ennen käyttöönottoa.
Julkaisupäivä:17. joulukuuta 2020.
INFOMARTION > Alustava konfigurointi vaaditaan PostgreSQL:n asennuksen jälkeen CentOS-käyttöjärjestelmässä ja ennen käyttöönottoa.
Yleiskatsaus.
Tämä on alustava konfigurointimenettely, jota tarvitaan PostgreSQL:n asentamiseen ja käynnistämiseen CentOS-käyttöjärjestelmässä. Tiedot perustuvat oletukseen, että käytössä on CentOS7. Mukana on myös turvallisuutta koskeva osa.
PostgreSQL:ää suositellaan, koska se on ilmainen ja erittäin toimiva. Olen kuullut, että PostgreSQL:n funktiot olivat ennen hitaita, mutta viimeaikaiset funktiot ovat parantuneet ja nopeutuneet.
Versiot ovat seuraavat.
CentOS-versio | 7.6 (1810) |
---|---|
PostgreSQL:n versio | 9.2.24 |
Sisällysluettelo
1. asenna
Tässä osassa kuvataan PostgreSQL:n asentaminen.
1-1. PostgreSQL:n asentaminen
Suorita PostgreSQL-asennus yum-komennolla. Suorita työ pääkäyttäjänä.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install postgresql-server
2. Asetusten yksityiskohdat
Tässä osassa kuvataan kokoonpano PostgreSQL:n käynnistämiseen asti.
2-1. Luo oma PostgreSQL-käyttäjä.
Halusin luoda oman käyttäjän PostgreSQL:n käsittelyä varten (psql-komentojen käyttö), mutta käyttäjä oli jo luotu. Muistan luoneeni käyttäjiä aiemmin, joten ehkä määrittely on muuttunut.
Kokeile siirtyä käyttäjäksi seuraavalla komennolla.
[root@hostname ~]# su - postgres
Koska jotkut saattavat mahdollisesti käyttää vanhempaa PostgreSQL-versiota, on syytä mainita, että menettely ympäristömuuttujien asettamiseksi muuttamalla seuraavaa ".bashrc" ei myöskään ole enää tarpeen.
export PGHOME=/var/lib/pgsql
export PGDATA=/var/lib/pgsql/data
export PGHOST=localhost
Postgres-käyttäjien oletusarvoinen PGDATA näyttää nyt olevan '/var/lib/pgsql/data'. Sen kuvataan viittaavan tiedostoon "/usr/lib/systemd/system/postgresql.service".
2-2. PostgreSQL-tietojen valmistelu
Luo PostgreSQL-tiedot. Koodaus on UNICODE. Hakemisto "/var/lib/pgsql/data" luotiin oletusarvoisesti, mutta niitä, jotka eivät ole luoneet, pyydetään myös luomaan kansio.
-bash-4.2$ initdb --encoding=UNICODE
Koska "PGDATA=/var/lib/pgsql/data" on asetettu "/usr/lib/systemd/system/postgresql.service"-kenttään, "initdb --encoding=UNICODE" luo tietokannan osoitteeseen "/var/lib/pgsql/". data/", tietokanta rakennetaan osoitteeseen "/var/lib/pgsql/data/".
2-3. Määritystiedoston muuttaminen
Salli IP-osoitteiden pääsy PostgreSQL:ään. Määritä järjestelmä niin, että se on salasanalla todennettu muita kuin paikallisia käyttäjiä varten.
[root@hostname ~]# vi /var/lib/pgsql/data/postgresql.conf
Muokkaa 'postgresql.conf' seuraavasti.
#------------------------------------------------------------------------------
# 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;
Koska tämä on tärkeä osa tietoturvaa, jos otat tämän asetuksen käyttöön, voit käyttää sivustoa miltä tahansa IP-osoitteelta. Jos käytettävä IP-osoite on kiinteä, ilmoita kiinteä IP-osoite.
Tämä asetus on tarpeen, kun kirjaudutaan sisään muulta palvelimelta kuin siltä, jolle PostgreSQL on asennettu, esim. pgadmin. Tämä asetus ei ole tarpeen, jos kirjaudut palvelimeen ja suoritat psql-komennon. (koska yhteys on peräisin häneltä itseltään (localhost))
Tämä on tärkeä tietoturva-asetus, joten minimoi mahdollisimman paljon käyttäjiä, jotka voivat käyttää sitä.
Muokkaa sitten 'pg_hba.conf'.
[root@hostname ~]# vi /var/lib/pgsql/data/pg_hba.conf
Lisää seuraavat tiedot asiakirjan loppuun.
#Salasanan todennus ulkopuolelta.
host all all 0.0.0.0/0 md5
Jos tämä asetus on käytössä, salasana vaaditaan, kun yhteys muodostetaan ulkopuolelta. Nämä alueet voivat olla vakavia tietoturva-aukkoja, jos niitä ei ole määritetty tai ne on määritetty väärin, joten määritä ne mahdollisimman huolellisesti.
2-4. bootstrap-tarkistus
Nyt kun esiasetukset on tehty, tarkista, että PostgreSQL käynnistyy. Koska tietokanta rakennettiin postgres-käyttäjänä, vaihda postgres-käyttäjäksi ennen käynnistämistä.
[root@hostname ~]# su - postgres
-bash-4.2$ pg_ctl start
Kun PostgreSQL on käynnistetty onnistuneesti, tarkista, että psql-komento toimii ongelmitta. Suorita psql-komento postgres-käyttäjänä.
-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)
On OK, jos edellä mainitut tulokset palautetaan.
2-5. Automaattinen käynnistysasetus
Vaikka se ei ole pakollista, PostgreSQL:ää on vaikea käynnistää joka kerta, kun palvelin käynnistetään uudelleen, joten se on määritetty siten, että PostgreSQL käynnistyy automaattisesti, kun palvelin käynnistetään. Se rekisteröityy myös systemctl-komentoon. Huomaa, että tämä menettely koskee CentOS7:ää, joten jos käytät jotain muuta kuin CentOS7:ää, sinun on käytettävä Service-komentoa.
Tarkista, onko tiedosto '/usr/lib/systemd/system/postgresql.service' olemassa. Jos näin ei ole, luo tiedosto 'postgresql.service' seuraavalla tavalla. Suorita pääkäyttäjänä.
[root@hostname ~]# touch /etc/systemd/system/postgresql.service
[root@hostname ~]# vi /etc/systemd/system/postgresql.service
Toimitetaan seuraavat tiedot.
[Unit]
#Kuvaus.
Description=PostgreSQL
#Toteutusta edeltävä ja sen jälkeinen valvonta.
#Before=xxx.service
After=network.target
[Service]
#Käyttäjän ja ryhmän nimeäminen
User=postgres
Group=postgres
#Kun se on aktivoitu, aseta tilaksi Aktivoitu.
Type=oneshot
RemainAfterExit=yes
#Käynnistä, pysäytä ja lataa uudelleen.
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:n vastaavat asetukset.
WantedBy=multi-user.target
Rekisteröidy seuraavaksi systemctl-komennolla.
[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. Hallinnollisen käyttäjän lisääminen PostgreSQL:ään
Luo PostgreSQL-sovelluksessa käytettävä käyttäjä, joka on erillinen siitä käyttäjästä, joka käyttää PostgreSQL:ää Linuxissa. Tämä on käyttäjä, kun käytät pgadminia, jne. Haluaisin muuttaa oletusarvoisesti olemassa olevan postgres-käyttäjän salasanan ja käyttää sitä.
Suorita seuraava komento postgres-käyttäjänä.
-bash-4.2$ psql
postgres=# alter role postgres with password '(tietokoneen) salasana';
postgres=# \q
※Kirjoita haluamasi salasana kenttään 'Password'.
2-7. Palomuurien poraaminen
Salli pääsy PostgreSQL-porttiin, koska palomuuri (iptables CentOS6:ssa ja sitä vanhemmissa versioissa) sallii oletusarvoisesti vain ssh-yhteyden CentOS7:ssä. Lisää myös "permanent"-vaihtoehto, jotta asetuksista tulee pysyviä.
[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:
Jos siinä lukee "portit: 5432/tcp", se on OK.
Pääsy pgadminin kautta. Sinun pitäisi pystyä kirjautumaan sisään postgres-käyttäjänä juuri asettamallasi salasanalla.
3. yhteenveto
Olemme kuvailleet PostgreSQL:n asennuksen yhteydessä tarvittavia alkukokoonpanoja. PostgreSQL:n alkuasennus voi olla hankalaa, joten tutustu tähän osioon.
Kiitos, että katsoitte loppuun asti.
■INFORMATION
Klikkaa tästä siirtyäksesi TIETOJEN yläsivulle.
■PROFILE
Klikkaa tästä saadaksesi profiilin.
■Yhteystiedot.