Wstęp
Zacząłem robić nowy projekt w języku C++/QT, dla doskonalenia umiejętności – będzie to manager haseł.
Do mojego nowego projektu w języku C++, potrzebuję skonfigurować bazę danych. Postaram się to po krótce opisać w tym poście.
Pierwszą rzeczą, od której zacznę jest konfiguracja bazy danych PostgreSQL w systemie Arch Linux (dla innych systemów operacyjnych będzie podobnie – trzeba będzie przede wszystkim użyć managera paczek odpowiedniego dla wersji Linuksa, której używamy).
To zaczynajmy!
Instalacja PostgreSQL
Zainstalujmy paczkę z bazą danych:
1 | sudo pacman -S postgresql |
Później przełączmy się na użytkownika postgres
:
1 | sudo -iu postgres |
Następnie zainicjujemy klaster bazy danych:
1 | [postgres@archlinux ~]$ initdb --locale pl_PL.UTF-8 -D /var/lib/postgres/data |
Na koniec wylogujmy się z użytkownika postgresql, włączmy i wystartujmy serwis postgresql
:
1 | logout |
Zabezpieczenie bazy danych
Stwórzmy użytkownika naszej bazy danych. Użyjemy naszej nazwy użytkownika z systemu Linux. Dzięki temu nie będziemy musieli się później przełączać na użytkownika postgres
, aby coś zrobić w naszej bazie danych.
1 | [postgres@archlinux ~]$ createuser --interactive [USER] |
Drugą opcję zaznaczyłem na tak, ponieważ, chciałbym, aby mój user mógł stworzyć nową bazę danych.
Stwórzmy teraz naszą bazę danych:
1 | createdb [DataBaseName] |
Przejdźmy do powłoki (ang. shell) naszej bazy danych:
1 | psql -d [DataBaseName] |
Zmieńmy hasło naszego użytkownika:
1 | ALTER USER [USER_NAME] WITH PASSWORD '[NEW_PASSWORD]'; |
Teraz zmieńmy prawa dostępu do bazy danych.
W pliku /var/lib/postgres/data/pg_hba.conf
zamieńmy to:
1 | # TYPE DATABASE USER ADDRESS METHOD |
Na to:
1 | # TYPE DATABASE USER ADDRESS METHOD |
Następnie dodamy wymaganie hasła przy logowaniu do bazy danych.
W pliku: /var/lib/postgres/data/postgresql.conf
odkomentujmy tą linijkę:
1 | password_encryption = scram-sha-256 # scram-sha-256 or md5 |
Na koniec zrestartujmy serwis postgresql
, aby zaaplikować zmiany:
1 | sudo systemctl restart postgresql |
I spróbujmy zalogować się teraz do naszej bazy danych (za pomocą komendy psql -d [DataBaseName]
). Teraz powinniśmy zostać poproszeni o hasło, po podaniu którego pokaże nam się interaktywna powłoka PostgreSQL.
Oto zrzut mojej konsoli:
Podsumowanie
W tym poście przedstawiłem podstawową konfigurację bazy danych PostgreSQL. W następnym poście zajmiemy się dodaniem stworzeniem struktury tabel i zawartości, która ma być przechowywana w bazie danych.
Mam nadzieję, że post jest przydatny 🙂 W razie jakichkolwiek problemów, dawajcie znać w komentarzach!
Pozdrawiam,
{\_Sidewinder22_/}