How to Install PostgreSQL on Debian 9
Inhoudsopgave:
- voorwaarden
- PostgreSQL installeren
- PostgreSQL-rollen en verificatiemethoden
- PostgreSQL-rol en database maken
- Schakel externe toegang tot de PostgreSQL-server in
- Conclusie
PostgreSQL, vaak simpelweg bekend als Postgres, is een open-source algemeen object-relationeel databasebeheersysteem. PostgreSQL heeft veel geavanceerde functies zoals online back-ups, point-in-time herstel, geneste transacties, SQL- en JSON-query's, multi-version concurrency control (MVCC), asynchrone replicatie en meer.
In deze zelfstudie laten we u zien hoe u PostgreSQL op Debian 9 installeert en de basisprincipes van basisdatabasebeheer verkennen.
voorwaarden
Voordat u doorgaat met deze zelfstudie, moet u ervoor zorgen dat de gebruiker waarbij u bent aangemeld sudo-rechten heeft.
PostgreSQL installeren
Op het moment dat dit artikel werd geschreven, is PostgreSQL versie 9.6 de nieuwste versie van PostgreSQL die beschikbaar is via de Debian-repositories.
Voer de volgende stappen uit om PostgreSQL op uw Debian-server te installeren:
-
Begin met het bijwerken van de lokale pakketindex:
sudo apt updateInstalleer de PostgreSQL-server en het PostgreSQL-contrib-pakket dat extra functies biedt voor de PostgreSQL-database:
sudo apt install postgresql postgresql-contribWanneer de installatie is voltooid, wordt de PostgreSQL-service automatisch gestart. Om de installatie te verifiëren, maken we verbinding met de PostgreSQL-databaseserver met behulp van het
psqlhulpprogramma en drukken we de serverversie af:sudo -u postgres psql -c "SELECT version();"De uitvoer ziet er zo uit:
version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)
PostgreSQL-rollen en verificatiemethoden
PostgreSQL verwerkt toegangsrechten voor databases met het concept van rollen. Een rol kan een database-gebruiker of een groep database-gebruikers vertegenwoordigen.
PostgreSQL ondersteunt een aantal 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) Ident - Deze methode wordt alleen ondersteund op TCP / IP-verbindingen. Werkt door het verkrijgen van de gebruikersnaam van het besturingssysteem van de client, met een optionele toewijzing van de gebruikersnaam. Peer - Idem als Ident maar wordt alleen ondersteund op lokale verbindingen.
PostgreSQL-clientverificatie wordt gedefinieerd in het configuratiebestand met de naam
pg_hba.conf
. Standaard is voor lokale verbindingen PostgreSQL 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 dan kunt u toegang krijgen tot een PostgreSQL-prompt met behulp van het
psql
hulpprogramma:
sudo su - postgres
psql
Vanaf hier kunt u communiceren met uw PostgreSQL-exemplaar. Om het PostgreSQL-shell-type te verlaten:
\q
U kunt de opdracht
sudo
gebruiken om toegang te krijgen tot de PostgreSQL-prompt zonder van gebruiker te wisselen:
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.
PostgreSQL-rol en database maken
U kunt nieuwe rollen maken vanaf de opdrachtregel met de opdracht
createuser
. 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 een nieuwe PostgreSQL-rol
De volgende opdracht maakt een nieuwe rol met de naam john:
sudo su - postgres -c "createuser john"Maak een nieuwe PostgreSQL-database
Maak een nieuwe database met de naam johndb met de opdracht
createdb:sudo su - postgres -c "createdb johndb"Bevoegdheden verlenen
Als u machtigingen wilt verlenen aan de
johngebruiker voor de database die we in de vorige stap hebben gemaakt, maakt u verbinding met de PostgreSQL-shell:sudo -u postgres psqlen voer de volgende query uit:
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 /etc/postgresql/9.6/main/postgresql.conf
/etc/postgresql/9.6/main/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 service postgresql restart
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:
/etc/postgresql/9.6/main/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
Conclusie
U hebt geleerd hoe u PostgreSQL op uw Debian 9-server installeert en configureert. Raadpleeg de PostgreSQL-documentatie voor meer informatie over dit onderwerp.
debian postgresql-databasePostgresql installeren op Centos 7
PostgreSQL of Postgres is een open source algemeen object-relationeel databasebeheersysteem. In deze zelfstudie laten we u twee verschillende methoden zien voor het installeren van PostgreSQL op uw CentOS 7-machine.
Postgresql 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.







