Database
 sql >> Baza danych >  >> RDS >> Database

Typowe zadania Postgres w CentOS 7

Ten przewodnik przeprowadzi Cię przez niektóre typowe zadania związane z serwerem Postgres. W tym samouczku omówimy instalowanie Postgresa, tworzenie nowych baz danych i użytkowników, tworzenie kopii zapasowych baz danych i nie tylko! Zagłębmy się!

Uwaga:Pozostała część tego samouczka wymaga posiadania roota przywileje. Zacznij od zalogowania się jako root lub poprzedź te polecenia przedrostkiem sudo .

Instalacja PostgreSQL

Instalacja Postgresa na naszym serwerze CentOS VPS jest prosta dzięki menedżerowi pakietów YUM. Uruchom następujące polecenie, aby zainstalować Postgres w swoim systemie:

yum install -y postgres-server

Konfigurowanie PostreSQL

Po zainstalowaniu Postgresa nadszedł czas na skonfigurowanie usługi. Po pierwsze, Postgres wymaga zainicjowania bazy danych, zanim będzie można jej użyć. Na szczęście udostępniają polecenie, które ułatwia nam ten krok:

postgres-setup initdb

Ustawimy Postgres tak, aby uruchamiał się automatycznie po uruchomieniu serwera. Uruchom następujące polecenie, aby włączyć usługę podczas rozruchu:
systemctl enable postgres

Następnie uruchomimy usługę. Następujące polecenie uruchomi Postgres, jeśli jeszcze nie jest uruchomiony:
systemctl start postgres

Na koniec sprawdzamy, czy Postgres działa po ponownym uruchomieniu:
service postgres status

Dane wyjściowe powinny być aktywne (uruchomione), co oznacza, że ​​usługa działa i jesteśmy gotowi do kontynuowania!

Tworzenie nowej bazy danych i dodawanie nowego użytkownika

Postgres działa jako użytkownik „postgres” w systemie CentOS Linux, a nie jako „root”. Jest to ważne, ponieważ nie możesz wchodzić w interakcje z Postgresem jako root.

Najpierw przejdźmy do „postgresu ” użytkownik. Ten użytkownik został automatycznie utworzony w Twoim systemie po zainstalowaniu Postgresa.
su - postgres

Następnie utworzymy nową bazę danych. Nazywamy to „moja baza danych ” w naszym przykładzie, ale możesz nazwać to, jak chcesz.
createdb mydatabase

Teraz dodamy nowego użytkownika do tej bazy danych. W tym przykładzie używamy nazwy użytkownika „myusername ”, ale możesz to nazwać, jak chcesz.
createuser myusername

Przyznawanie uprawnień do bazy danych PostgreSQL

Do tej pory zainstalowaliśmy Postgres, stworzyliśmy nową bazę danych i stworzyliśmy nowego użytkownika do dostępu do bazy danych. Pozostał tylko jeden krok, a jest nim przyznanie uprawnień, aby nasz nowy użytkownik mógł uzyskać dostęp do bazy danych. Aby rozpocząć ten proces, musimy najpierw wejść do „powłoki postgres”. Wpisz następujące polecenie:
psql

Po naciśnięciu klawisza Enter powinieneś zauważyć, że wiersz poleceń się zmienił, wskazując, że jesteś teraz w powłoce Postgres.
psql (9.2.24)
Type “help” for help.
postgres =#

Stąd możemy teraz dodać uprawnienia dla naszego nowego użytkownika, aby uzyskać dostęp do bazy danych. Wpisz następujące polecenie, aby ustawić hasło dla naszego użytkownika. Należy zwrócić uwagę na kilka rzeczy. Po pierwsze, wymagane są pojedyncze cudzysłowy wokół hasła! Po drugie, pamiętaj o zastąpieniu przykładu my_secure_password dla wiarygodnego bezpiecznego hasła! Na koniec pamiętaj o dodaniu średnika na końcu instrukcji. Łatwo przeoczyć!
alter username myusername with encrypted password ‘my_secure_password’;
Postgres powinien odpowiedzieć następującym tekstem, informując o tym, że się udało.
ALTER ROLE

Teraz, gdy hasło zostało utworzone, ustawimy uprawnienia do bazy danych. Umożliwi to myusername dostęp do mydatabase.
grant all privileges on database mydatabase to myusername;
Postgres odpowie następującym tekstem, jeśli polecenie się powiedzie.
GRANT

Sprawdźmy dokładnie naszą pracę i zweryfikujmy, czy baza danych pojawia się w Postgresie. W powłoce uruchom \list polecenie i uważnie obserwuj dane wyjściowe. Powinieneś zobaczyć „moja baza danych ” na liście baz danych.

Skończyliśmy! Wpisz następujące polecenie, aby opuścić powłokę Postgres.
\quit

Jak wykonać kopię zapasową bazy danych PostgreSQL

Istnieje kilka sposobów tworzenia kopii zapasowej bazy danych Postgres. W naszym dzisiejszym przykładzie pokażemy, jak korzystać z doskonałego „pg_dump ”, które wyświetla całą bazę danych jako pojedynczy plik. Tworzenie kopii zapasowych jest bardzo proste! Uruchom następujące polecenie, aby wykonać kopię zapasową naszej bazy danych. Pamiętaj, że użyliśmy nazwy „mydatabase.bak ” w naszym przykładzie, ale możesz nazwać plik kopii zapasowej, jak chcesz.
pg_dump mydatabase > mydatabase.bak

Możesz teraz łatwo skopiować lub przenieść ten plik w dowolne miejsce, w którym chcesz przechowywać kopie zapasowe. W ramach najlepszych praktyk zdecydowanie zalecamy przechowywanie kopii zapasowych na dedykowanym dysku kopii zapasowej, niezależnie od dysku systemu operacyjnego. W ten sposób Twoje kopie zapasowe są bezpieczne i solidne, nawet w mało prawdopodobnym przypadku awarii systemu.

Jak usunąć bazę danych PostgreSQL

Usunięcie bazy danych to prosty proces. Wymaga najpierw uzyskania dostępu do powłoki Postgres. Szybkie przypomnienie, że możesz uzyskać dostęp do powłoki Postgres za pomocą następującego polecenia:
psql
Odtąd jest to jedno polecenie, aby usunąć bazę danych. Usuńmy naszą przykładową bazę danych.
drop database mydatabase
Postgres potwierdzi sukces następującym komunikatem:
DROP DATABASE
Uwaga:jeśli określisz bazę danych, która nie istnieje, Postgres odpowie z następującym błędem:
ERROR: database “my_other_database” does not exist
Możesz sprawdzić, czy baza danych została usunięta, używając \list polecenie w powłoce Postgres. Obserwuj wyniki i powinieneś zauważyć, że „moja baza danych ” został usunięty z listy baz danych.

Jak przywrócić bazę danych PostgreSQL z kopii zapasowych

Teraz, gdy usunęliśmy naszą bazę danych o nazwie „moja baza danych ”, zobaczmy, jak przywrócić tę bazę danych z utworzonej przez nas kopii zapasowej. Najpierw musimy użyć pustego szablonu do przechowywania przywróconej bazy danych. Pamiętaj, aby uruchomić następujące polecenie jako użytkownik Postgres i z powłoki BASH (nie z powłoki Postgres!)
createdb -T template0 mydatabase

Teraz, gdy mamy nasz szablon zastępczy, możemy importować dane.
psql mydatabase < /path/to/mydatabase.bak
Baza danych została przywrócona. Jeśli uruchomisz \list ponownie z powłoki Postgres, zobaczysz „mydatabase” ponownie pojawi się na naszej liście baz danych!

Gratulujemy dotrwania do końca tej części. W tym samouczku omówiliśmy wiele rzeczy! Tylko zarysowaliśmy powierzchnię tego tematu, a już możesz zacząć rozumieć, dlaczego administratorzy baz danych zajmują dedykowane stanowiska w wielu firmach! Na szczęście Liquid Web jest tutaj, aby pomóc Ci we wszystkich Twoich potrzebach związanych z bazą danych. Nasz zespół profesjonalistów może pomóc w doradztwie i zarządzaniu Twoimi bazami danych. Napisz do nas, jeśli masz jakieś pytania i dziękujemy za przeczytanie!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zanurz się głęboko w NoSQL:pełna lista baz danych NoSQL

  2. Skany zleceń alokacji

  3. Notacja UML

  4. Model bazy danych dla platformy MOOC

  5. Usługa migracji bazy danych AWS DMS