PostgreSQL installeren op FreeBSD 12

PostgreSQL of Postgres is een krachtig object-relationeel high-performance database management systeem (ORDBMS) dat onder een flexibele BSD-achtige licentie wordt uitgegeven. PostgreSQL is zeer geschikt voor grote databases en heeft veel geavanceerde mogelijkheden.

In deze handleiding laten we je zien hoe je een PostgreSQL databaseserver op FreeBSD kunt installeren en instellen. We installeren de nieuwste versie van PostgreSQL 11 op het FreeBSD 12.0 systeem.

Voorwaarde

Voor deze gids gebruiken we FreeBSD 12 met 1 GB RAM geheugen en 2 CPUs. Als je een grote installatie hebt, heb je meer dan dat nodig. Je hebt ook de root privileges nodig voor de pakketinstallatie.

Wat we zullen doen:

  • Pakketten bijwerken en upgraden
  • Installeer PostgreSQL 11
  • Configureer PostgreSQL Authenticatie
  • Nieuwe gebruiker en database instellen
  • Testen van

Stap 1 – Pakketten bijwerken en upgraden

Eerst zullen we de pakket repository bijwerken en alle pakketten naar de laatste versie bijwerken met het pkg pakketbeheer gereedschap voor FreeBSD.

Werk alle beschikbare repository’s bij en upgrade alle pakketten naar de nieuwste versie met het volgende commando.

pkg update
pkg upgrade

Als alle installatie voltooid is, ga je naar de volgende stap.

Pakketten bijwerken

Stap 2 – Installeer PostgreSQL 11

In deze stap gaan we de laatste stabiele versie PostgreSQL 11 installeren. Standaard biedt de FreeBSD repository meerdere versies van het PostgreSQL pakket.

Je kunt het volgende commando gebruiken om alle beschikbare versie van PostgreSQL pakketten te controleren.

pkg search postgresql

En je krijgt meerdere versies van PostgreSQL databaseserver.

Installeer nu het PostgreSQL 11 pakket met het onderstaande commando.

pkg install postgresql11-server postgresql11-client

Als de installatie voltooid is, krijg je het resultaat zoals hieronder.

Installeer PostgreSQL

Vervolgens moeten we de PostgreSQL dienst toevoegen aan het systeem opstarten en de database initialiseren voordat de dienst gestart wordt.

Voeg de PostgreSQL toe aan het systeem opstarten met het onderstaande commando.

sysrc postgresql_enable=yes

Initialiseer nu de PostgreSQL databank met het volgende commando.

/usr/local/etc/rc.d/postgresql initdb

En je krijgt het resultaat als hieronder.

Initialiseer postgres databank

Start nu de PostgreSQL dienst en controleer de status.

service postgresql start
service postgresql status

De PostgreSQL dienst is up and running op FreeBSD 12.0.

Postgres dienst gestart

Bovendien:

Je kunt de systeempoort controleren die door de PostgreSQL dienst gebruikt wordt met het sockstat commando hieronder.

sockstat -l4 -P tcp

En je krijgt dat poort ‘5432’ door de PostgreSQL dienst gebruikt wordt.

Controleer de toestand van de socket

Stap 3 – Stel PostgreSQL Authenticatie in

In deze stap gaan we de authenticatie methode voor PostgreSQL instellen. PostgreSQL ondersteunt verschillende authenticatie methoden, zoals vertrouwensauthenticatie (standaard), wachtwoord-gebaseerde authenticatie, Kerberos, GSSAPI, LDAP, RADIUS, en PAM.

Voor deze gids gaan we de wachtwoord-gebaseerde authenticatie instellen met MD5. Ga naar de ‘/var/db/postgresql/data11’ directory, bewerk het ‘pg_hba.conf’ bestand met een vim editor.

cd /var/db/postgres/data11
vim pg_hba.conf

Verander nu de authenticatiemethode voor alle lokale verbindingen in ‘md5’ zoals hieronder.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5 
# IPv6 local connections:
host    all             all             ::1/128                 md5

Sla op en sluit.

Stel PostgreSQL Authenticatie in

Start nu de PostgreSQL dienst opnieuw.

service postgresql restart

Het resultaat is dat de wachtwoordgebaseerde authenticatie met md5 voor de PostgreSQL server is ingeschakeld.

Herstart postgres

Stap 4 – Nieuwe gebruiker en databank instellen

In deze stap gaan we een nieuwe gebruiker en database op PostgreSQL instellen. We maken een nieuw wachtwoord voor de standaard gebruiker ‘postgres’, en maken een nieuwe gebruiker en database aan.

Meld je aan bij de gebruiker ‘postgres’ met het onderstaande commando.

su - postgres

Log nu in op de interactieve PostgreSQL shell ‘psql’.

psql

Maak dan een nieuw wachtwoord voor de ‘postgres’ gebruiker.

\password postgres
TYPE THE PASSWORD

Vervolgens maken we een nieuwe gebruiker genaamd ‘hakase’ met de databank ‘hakase_db’. En geef de gebruiker privileges tot de databank.

Voer de volgende PostgreSQL querys hieronder uit.

create database hakase_db;
create user hakase with encrypted password 'hakase123#';
grant all privileges on database hakase_db to hakase;

Verlaat nu de interactieve shell van PostgreSQL.

\q

Het resultaat is dat het wachtwoord voor de standaard ‘postgres’ gebruiker is aangemaakt. En de nieuwe gebruiker en de database zijn ingesteld.

Maak database en database gebruiker

Stap 5 – Testen

Log in op de ‘postgres’ gebruiker en voer dan het ‘psql’ commando uit om in de interactieve shell van PostgreSQL te komen.

su - postgres
psql

Toon lijst gebruikers en database op de PostgreSQL server met de volgende query’s.

\du
\l

En je krijgt de nieuwe gebruiker ‘hakase’ en de database ‘hakase_db’ op het resultaat.

Testen van PostgreSQL

Typ ‘\q’ om de psql shell te verlaten.

Vervolgens loggen we met de aangemaakte gebruiker ‘hakase’ in op de database ‘hakase_db’ met het onderstaande commando.

psql -U hakase -d hakase_db -W
Type the hakase password

Maak nu een nieuwe tabel ‘user_table’ en voeg er wat gegevens in.

create table user_table (id int, name text, site text);
insert into user_table (id,name,site) values (1,'Hakase-Labs','howtoforge.com');

Toon de inhoud van de tabellen met de volgende query.

select * from user_table;

En je krijgt het resultaat als hieronder.

Maak tabel

Tenslotte is de installatie en configuratie van PostgreSQL 11 op het FreeBSD 12 systeem met succes voltooid.

Links