Install Postgres on Centos 7
Inhoudsopgave:
- voorwaarden
- Installeer PostgreSQL vanuit de CentOS-opslagplaatsen
- Installeer PostgreSQL vanuit de PostgreSQL-opslagplaatsen
- PostgreSQL-rollen en verificatiemethoden
- PostgreSQL-rol en database maken
- Schakel externe toegang tot de PostgreSQL-server in
- Conclusie
PostgreSQL of Postgres is een open source object-relationeel databasebeheersysteem voor algemene doeleinden met veel geavanceerde functies waarmee u complexe webtoepassingen kunt maken.
In deze zelfstudie laten we u twee verschillende methoden zien voor het installeren van PostgreSQL op uw CentOS 7-machine. De eerste methode leidt u door de stappen die nodig zijn om PostgreSQL v9.2.23 te installeren vanuit de CentOS-repositories, terwijl de tweede u laat zien hoe u de nieuwste versie van PostgreSQL installeert vanuit de officiële PostgreSQL-repositories.
Als uw toepassing niet de nieuwste versie vereist, raden we u aan de eerste methode te gebruiken en PostgreSQL te installeren vanuit de CentOS-opslagplaatsen.
We zullen ook de basisprincipes van PostgreSQL databasebeheer verkennen.
voorwaarden
Zorg ervoor dat u bent aangemeld als een gebruiker met sudo-rechten voordat u doorgaat met deze zelfstudie.
Installeer PostgreSQL vanuit de CentOS-opslagplaatsen
Op het moment dat dit artikel wordt geschreven, is PostgreSQL versie 9.2.23 de nieuwste versie van PostgreSQL die beschikbaar is via de CentOS-repositories.
Volg de onderstaande stappen om PostgreSQL op uw CentOS-server te installeren:
-
PostgreSQL installeren
Om de PostgreSQL-server te installeren samen met het PostgreSQL-contrib-pakket dat verschillende extra functies voor de PostgreSQL-database biedt, typt u eenvoudig:
sudo yum install postgresql-server postgresql-contribDatabase initialiseren
Initialiseer de PostgreSQL-database met de volgende opdracht:
sudo postgresql-setup initdbInitializing database… OKPostgreSQL starten
Om de PostgreSQL-service te starten en tijdens het opstarten te starten, typt u:
sudo systemctl start postgresqlsudo systemctl enable postgresqlInstallatie van PostgreSQL verifiëren
Om de installatie te verifiëren zullen we proberen verbinding te maken met de PostgreSQL-databaseserver met behulp van de
psqltool en de serverversie afdrukken:sudo -u postgres psql -c "SELECT version();"PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit (1 row)
Installeer PostgreSQL vanuit de PostgreSQL-opslagplaatsen
Op het moment dat dit artikel wordt geschreven, is PostgreSQL versie 10.4 de nieuwste versie van PostgreSQL die beschikbaar is via de officiële PostgreSQL-opslagplaatsen. Voordat u doorgaat met de volgende stap, moet u de pagina Yum Repository van PostgreSQL bezoeken en controleren of er een nieuwe versie beschikbaar is.
Volg de onderstaande stappen om de nieuwste PostgreSQL-versie op uw CentOS-server te installeren:
-
PostgreSQL-repository inschakelen
Om de PostgreSQL-repository in te schakelen, installeert u eenvoudig het repository-
rpmbestand:sudo yum installPostgreSQL installeren
Nadat de repository is ingeschakeld, installeert u de PostgreSQL-server en PostgreSQL-contribpakketten met:
sudo yum install postgresql10-server postgresql10-contribDatabase initialiseren
Om het PostgreSQL-database-type te initialiseren:
sudo /usr/pgsql-10/bin/postgresql-10-setup initdbInitializing database… OKPostgreSQL starten
Om de PostgreSQL-service te starten en in te schakelen bij het opstarten:
sudo systemctl start postgresql-10sudo systemctl enable postgresql-10Installatie van PostgreSQL verifiëren
Om de installatie te verifiëren zullen we proberen verbinding te maken met de PostgreSQL-databaseserver met behulp van de
psqltool en de serverversie afdrukken:sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit (1 row)
PostgreSQL-rollen en verificatiemethoden
Toegangsrechten voor databases binnen PostgreSQL worden afgehandeld met het concept van rollen. Een rol kan een database-gebruiker of een groep database-gebruikers vertegenwoordigen.
PostgreSQL ondersteunt meerdere authenticatiemethoden. De meest gebruikte methoden zijn:
- Vertrouwen - Met deze methode kan de rol verbinding maken zonder wachtwoord, zolang aan de criteria is voldaan die zijn gedefinieerd in
pg_hba.confWachtwoord - Een rol kan verbinding maken door een wachtwoord op te geven. De wachtwoorden kunnen worden opgeslagen alsscram-sha-256md5enpassword(clear-text). Identiek - Deze methode wordt alleen ondersteund op TCP / IP-verbindingen. Het werkt door de gebruikersnaam van het besturingssysteem van de client te verkrijgen, met een optionele toewijzing van een gebruikersnaam. Peer - Idem als Ident, maar het wordt alleen ondersteund op lokale verbindingen.
PostgreSQL-clientverificatie wordt gedefinieerd in het configuratiebestand met de naam
pg_hba.conf
. Voor lokale verbindingen is PostgreSQL standaard ingesteld om de peer-authenticatiemethode te gebruiken.
De
postgres
gebruiker wordt automatisch gemaakt wanneer u PostgreSQL installeert. Deze gebruiker is de superuser voor de PostgreSQL-instantie en is gelijk aan de MySQL-rootgebruiker.
Om in te loggen op de PostgreSQL-server als de postgres-gebruiker moet u eerst overschakelen naar de postgres van de gebruiker en vervolgens toegang krijgen tot de PostgreSQL-prompt met behulp van het
psql
hulpprogramma:
sudo su - postgres
psql
Vanaf hier kunt u communiceren met uw PostgreSQL-exemplaar. Typ het volgende om de PostgreSQL-shell te verlaten:
\q
U kunt ook toegang krijgen tot de PostgreSQL-prompt zonder van gebruiker te wisselen met de opdracht
sudo
:
sudo -u postgres psql
De
postgres
gebruiker wordt meestal alleen gebruikt door de lokale host en het wordt afgeraden het wachtwoord voor deze gebruiker in te stellen.
psql
binary gebruiken, namelijk
/usr/pgsql-10/bin/psql
.
PostgreSQL-rol en database maken
Alleen superusers en rollen met
CREATEROLE
rechten kunnen nieuwe rollen maken.
In het volgende voorbeeld maken we een nieuwe rol met de naam
john
een database met de naam
johndb
en verlenen we privileges voor de database.
-
Maak verbinding met de PostgreSQL Shell
sudo -u postgres psqlMaak een nieuwe PostgreSQL-rol
De volgende opdracht maakt een nieuwe rol met de naam john:
create role john;Maak een nieuwe PostgreSQL-database
Maak een nieuwe database met de naam johndb met de opdracht
createdb:create database johndb;Bevoegdheden verlenen
Voer de volgende query uit om machtigingen te verlenen aan de
johngebruiker voor de database die we in de vorige stap hebben gemaakt:grant all privileges on database johndb to john;
Schakel externe toegang tot de PostgreSQL-server in
Standaard luistert de PostgreSQL-server alleen op de lokale interface
127.0.0.1
. Om externe toegang tot uw PostgreSQL-server in te schakelen, opent u het configuratiebestand
postgresql.conf
en voegt u
listen_addresses = '*'
in het gedeelte
CONNECTIONS AND AUTHENTICATION
.
sudo vim /var/lib/pgsql/data/postgresql.conf
Als u PostgreSQL versie 10 gebruikt, is het pad naar het bestand
/var/lib/pgsql/10/data/postgresql.conf
./var/lib/pgsql/data/postgresql.conf
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
sla het bestand op en start de PostgreSQL-service opnieuw met:
sudo systemctl restart postgresql
Als u PostgreSQL versie 10 gebruikt, start u de PostgreSQL-service opnieuw met
systemctl restart postgresql-10
.
Controleer de wijzigingen met het hulpprogramma
ss
:
ss -nlt | grep 5432
LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*
Zoals u aan de uitvoer hierboven kunt zien, luistert de PostgreSQL-server op alle interfaces (0.0.0.0).
De laatste stap is het configureren van de server om externe verbindingen te accepteren door het bestand
pg_hba.conf
bewerken.
Hieronder volgen enkele voorbeelden van verschillende gebruiksscenario's:
/var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Als u PostgreSQL versie 10 gebruikt, is het volledige pad naar het bestand
/var/lib/pgsql/10/data/pg_hba.conf
.
Conclusie
U hebt geleerd hoe u PostgreSQL op uw CentOS 7-server installeert en configureert.
U kunt de PostgreSQL-documentatie raadplegen voor meer informatie over dit onderwerp.
centos postgresql-databasePostgresql installeren op Centos 8
In deze gids zullen we bespreken hoe de PostgreSQL-databaseserver op CentOS 8 moet worden geïnstalleerd. We zullen ook de basisprincipes van PostgreSQL-databasebeheer verkennen.
Hoe postgresql op debian 10 te installeren
Deze zelfstudie leidt u door de stappen van het installeren van de PostgreSQL-databaseserver op Debian 10. PostgreSQL, vaak eenvoudigweg bekend als Postgres, is een open-source, algemeen object-relationeel databasebeheersysteem.
Postgresql installeren op debian 9
PostgreSQL, vaak simpelweg bekend als Postgres, is een open source algemeen object-relationeel databasebeheersysteem. In deze tutorial laten we u zien hoe u PostgreSQL op Debian 9 installeert en de grondbeginselen van basisdatabasebeheer verkennen.







