Blog JSystems - uwalniamy wiedzę!

Szukaj


Z tego artykułu dowiesz się:

  • gdzie leżą binaria, pliki danych, pliki konfiguracyjne, pliki logów PostgreSQL,
  • jakie mamy pliki konfiguracyjne i do czego służą,
  • jakie mamy pliki systemowe PostgreSQL i do czego służą,
  • jakie katalogi w strukturach PostgreSQL znajdziemy i co się w nich mieści,
  • jakie mamy narzędzia binarne PostgreSQL i do czego służą.



Po instalacji pliki klastra będą rozłożone w dwóch lokalizacjach. Osobno- binaria i osobno PGDATA - czyli katalog, w którym są np. pliki danych czy pliki konfiguracyjne. W domyślnej konfiguracji dla Ubuntu położenie plików jest następujące:


Katalog z binariami: /usr/lib/postgresql/15/bin/

Katalog domowy postgresa: /var/lib/postgresql


W domyślnej konfiguracji dla CentOSa położenie plików jest następujące:


Katalog z binariami: /usr/pgsql-15/bin/

Katalog domowy postgresa: /var/lib/pgsql


W ramach kursu tworzyliśmy naszą PGDATA w:

Katalog domowy postgresa: /data_pg/


W katalogu inicjalizacji klastra - czyli naszej PGDATA- znajdziemy wszystkie pliki konfiguracyjne i pliki danych niezbędne do działania klastra. Zobaczmy, co znajduje się w PGDATA. Zawartość tego katalogu powinna się prezentować w ten sposób:



Co znajdziemy w PGDATA? Najpierw pliki:



































Nazwa pliku Opis
pg_hba.conf Plik zawierający ustawienia dotyczące tego, z jakich hostów/sieci można łączyć się z klastrem oraz jakiego rodzaju uwierzytelniania to wymaga.
postgresql.conf Główny plik konfiguracyjny klastra.
postgresql.auto.conf Plik konfiguracyjny zawierający ustawienia wprowadzone komendą: "alter system". Od wersji 9.6.
postmaster.opts Plik zawierający opcje wiersza poleceń, które są implementowane podczas startu procesu postmaster.
postmaster.pid Zawiera identyfikator systemowego procesu postmaster. Istnieje tylko wtedy, gdy serwer działa lub jego działanie zostało przerwane w wyniku awarii.
pg_ident.conf Pozwala mapować użytkowników systemowych na bazodanowych.
PG_VERSION Zawiera informacje o wersji klastra PostgreSQL.

Następnie katalogi:



















































































Nazwa katalogu Opis
base Główny katalog danych. Każda baza danych posiada swój katalog danych, w którym przechowywane są pliki tabel i innych obiektów. Katalogi z plikami danych poszczególnych baz będą podkatalogami tego katalogu. Każda baza będzie posiadała swój podkatalog na pliki o nazwie odpowiadającej OID bazy.
global Pliki danych tabel klastra bazy danych, tj. słowników niezwiązanych z konkretną bazą a z klastrem. Na przykład pg_database - lista baz danych.
pg_wal Pliki WAL (Write Ahead Log).
log Katalog zawierający logi klastra (w starszych wersjach pg_xlog).
pg_commit_ts Zawiera informacje o wystąpieniach commitów. Aby ten katalog był uzupełniany, trzeba jeszcze włączyć parametr track_commit_timestamp.
pg_logical Dane związane z replikacją logiczną (wprowadzone od wersji 9.4).
pg_notify Katalog wykorzystywany w systemie powiadomień i subskrypcji (zachęcam do zapoznania się z funkcją pg_notify).
pg_serial Zawiera informacje na temat zatwierdzonych serializowanych transakcji.
pg_stat Trwałe pliki systemu statystyk.
pg_subtrans Pliki statusu podtransakcji.
pg_twophase Status zatwierdzania dwufazowego lub przygotowanej transakcji. Zachęcam do zapoznania się z komendą: „PREPARE TRANSACTION”.
current_logfiles Zawiera informację o aktualnym pliku, do którego zrzucane są logi.
pg_dynshmem Zawiera pliki wykorzystywane przez system zarządzania pamięcią.
pg_multixact Pliki statusu blokad na poziomie wierszy.
pg_replslot Dane potrzebne do replikacji.
pg_stapshots Wyeksportowane snapshoty (z pg_dump).
pg_stat_tmp Tymczasowe pliki systemu statystyk.
pg_tblspc Łącza do zewnętrznych przestrzeni tabel.
pg_xact pg_xact Logi metadanych transakcji.

Sprawdźmy też, co znajduje się w katalogu z binariami:
























































































































Plik Opis
clusterdb Narzędzie do reklastrowania sklastrowanych tabel. Odnajduje tabele, które zostały sklastrowane i reklastruje je z użyciem indeksu wykorzystanego pierwotnie.
createdb Służy do tworzenia baz danych, choć można użyć komendy: CREATE DATABASE.
createuser Służy do tworzenia użytkowników, choć można użyć komendy: CREATE USER.
dropdb Służy do kasowania baz danych, choć można użyć komendy: DROP DATABASE.
dropuser Służy do kasowania użytkowników, choć można użyć komendy: DROP USER.
initdb Skrypt inicjalizujący klaster PostgreSQL tworzący wszystkie niezbędne pliki w PGDATA.
pg_archivecleanup Bardzo przydatne narzędzie! Służy do zarządzania zarchiwizowanymi plikami WAL. Można je wykorzystać do usuwania plików WAL starszych niż np. właśnie zrobiony backup, ale też do kasowania niepotrzebnych już plików WAL serwera replikującego.
pg_basebackup Narzędzie pozwalające wykonać backup klastra. Wykorzystywane jest też do stworzenia duplikatu klastra na potrzeby replikacji.
pgbench Benchmark dla PostgreSQL
pg_checksums Dostępne od wersji 12! Służy do wyliczania sum kontrolnych wykorzystywanych do wykrywania uszkodzeń danych.
pg_config Wyświetla informację o podstawowych konfiguracjach – położenie katalogu z binariami, wersji serwera etc.
pg_controldata Wyświetla podstawowe informacje kontrolne o klastrze.
pg_ctl Zatrzymuje i uruchamia klaster PostgreSQL. Umożliwia też przeładowanie konfiguracji.
pg_dump Pozwala wykonać eksport wskazanej bazy danych do pliku SQL.
pg_dumpall pg_dumpall Pozwala wykonać eksport wszystkich baz danych do pliku SQL.
pg_isready Narzędzie do sprawdzania, czy da klaster akceptuje połączenia.
pg_receivewal Służy do strumieniowego przekazywania wpisów WAL w replikacji (od wersji 10).
pg_resetwal Służy do resetowania plików WAL i niektórych parametrów zawartych w pg_control. Używany w przypadku uszkodzenia danych.
pg_restore Służy do odtwarzania bazy danych na podstawie zrzutów produkowanych przez pg_dump.
pg_rewind Służy do synchronizacji klastra z inną kopią klastra. Wykorzystywany np. do przywracania serwera master (w replikacji) po jego awarii.
pg_test_fsync Narzędzie używane przy zmianie wal_sync_method.
pg_test_timing Służy do mierzenia narzutu obciążenia. Wykonuje wielokrotne wywołanie funkcji systemowej i zwraca histogram z informacją, ile razy udało się tę czynność wykonać w jakim czasie.
pg_upgrade Służy do aktualizacji plików danych klastra przy jego upgrade.
pg_verifybackup Od wersji 13! Służy do sprawdzania integralności kopii zapasowych wytworzonych przy użyciu pg_basebackup.
pg_waldump Służy do przeglądania zawartości plików WAL.
psql Prosty klient bazodanowy.
reindexdb Służy do reindeksowania bazy danych. Zamiast niego można użyć komendy: REINDEX.
vacuumdb Służy do wykonywania vacuum na bazach danych – oczyszczania z pozostałości po transakcjach. Zamiast niego można użyć komendy :VACUUM.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...