E-book details

PostgreSQL. Receptury dla administratora

PostgreSQL. Receptury dla administratora

Hannu Krosing, Simon Riggs

Ebook

Poznaj najlepsze przepisy na pracę z PostgreSQL!

  • Jak zapewnić bezpieczeństwo bazom danych?
  • Jak uruchomić kilka serwerów baz danych w ramach jednego systemu operacyjnego?
  • Jak zarządzać użytkownikami i ich uprawnieniami?

PostgreSQL to jedna z najbardziej zaawansowanych baz danych o otwartym kodzie źródłowym. Przez wiele lat była niedoścignionym wzorem dla innego darmowego rozwiązania — MySQL. Dziś znajduje zastosowanie wszędzie tam, gdzie wymagana jest najwyższa niezawodność i wydajność, a brak konieczności zapłaty gra kluczową rolę. Stosunek jakości do ceny w przypadku PostgreSQL zmierza do nieskończoności!

Trzymasz w rękach książkę zawierającą liczne przepisy na najlepsze wykorzystanie PostgreSQL. System ten sprawdza się zawsze, gdy chcesz szybko i bezproblemowo osiągnąć zamierzone cele. W trakcie lektury dowiesz się, jak nawiązać połączenie z serwerem, skorzystać z graficznych lub tekstowych narzędzi administracyjnych oraz bezpiecznie zmienić hasło administratora. Ponadto nauczysz się kontrolować przestrzeń dyskową wykorzystywaną przez poszczególne bazy danych, tworzyć tabele, ładować dane oraz zarządzać użytkownikami i ich uprawnieniami. Autorzy dużo miejsca poświęcają kwestii bezpieczeństwa. W końcu dane to najcenniejsza rzecz, jaką przechowuje się w bazach! Każdy z rozdziałów przynosi ogrom wiedzy o różnym poziomie skomplikowania. Zaawansowanych użytkowników zainteresuje rozdział poświęcony replikacji, a tych początkujących rozdział traktujący o uruchamianiu i zatrzymywaniu serwera baz danych. Ta książka przyda się po prostu wszystkim użytkownikom PostgreSQL!

  • Zalety PostgreSQL w kontekście innych rozwiązań bazodanowych
  • Udostępnianie serwera w sieci
  • Zastosowanie narzędzia psql do wykonywania zapytań
  • Sprawdzanie wersji serwera
  • Lista baz danych na serwerze
  • Planowanie nowej bazy danych
  • Parametry, ich znaczenie i ustawianie
  • Uruchamianie i zatrzymywanie serwera
  • Ponowne ładowanie plików konfiguracyjnych
  • Przyznawanie użytkownikom własnych baz danych
  • Wiele serwerów baz danych w ramach jednego systemu operacyjnego
  • Generowanie danych testowych
  • Tworzenie kont użytkowników i zarządzanie nimi oraz ich uprawnieniami
  • Równoległe wykonywanie zadań — polecenie pg_batch
  • Monitorowanie i diagnostyka serwera PostgreSQL
  • Przygotowywanie kopii bezpieczeństwa

Zobacz, co możesz osiągnąć razem z bazą PostgreSQL!

O autorach (9)

O recenzentach (11)

Przedmowa (13)

Rozdział 1. Pierwsze kroki (19)

  • Wprowadzenie (19)
  • Wprowadzenie do systemu PostgreSQL 9 (20)
  • Jak zdobyć system PostgreSQL (22)
  • Łączenie z bazą danych PostgreSQL (24)
  • Umożliwianie zdalnego dostępu do serwera za pośrednictwem sieci (27)
  • Korzystanie z graficznych narzędzi administracyjnych (29)
  • Stosowanie narzędzi psql do wykonywania zapytań i skryptów (35)
  • Bezpieczna zmiana hasła (39)
  • Unikanie trwałego kodowania hasła (40)
  • Stosowanie pliku usługi połączeń (42)
  • Rozwiązywanie problemów związanych z nawiązywaniem połączenia (43)

Rozdział 2. Poznawanie bazy danych (47)

  • Wprowadzenie (47)
  • Która wersja serwera? (48)
  • Od kiedy działa dany serwer? (50)
  • Lokalizacja plików serwera bazy danych (51)
  • Lokalizacja dziennika komunikatów serwera bazy danych (53)
  • Lokalizacja identyfikatora systemu bazy danych (56)
  • Lista baz danych na danym serwerze bazy danych (57)
  • Ile tabel w bazie danych? (60)
  • Ile przestrzeni dyskowej zajmuje baza danych? (63)
  • Ile przestrzeni dyskowej zajmuje tabela? (64)
  • Które tabele są największe? (65)
  • Ile wierszy w tabeli? (65)
  • Szybkie szacowanie liczby wierszy w tabeli (67)
  • Odkrywanie zależności łączących obiekty (71)

Rozdział 3. Konfiguracja (75)

  • Wprowadzenie (75)
  • Lektura podręcznika użytkownika (RTFM) (76)
  • Planowanie nowej bazy danych (77)
  • Zmiana parametrów na poziomie programów (79)
  • Jakie są bieżące ustawienia konfiguracyjne? (81)
  • Które parametry zawierają wartości inne niż ustawienia domyślne? (82)
  • Aktualizacja pliku parametrów (84)
  • Ustawianie parametrów dla konkretnych grup użytkowników (85)
  • Lista podstawowych zadań związanych z konfiguracją serwera (87)
  • Dodawanie modułu zewnętrznego do systemu PostgreSQL (89)
  • Uruchamianie serwera w trybie oszczędzania energii (91)

Rozdział 4. Kontrola serwera (93)

  • Wprowadzenie (93)
  • Ręczne uruchamianie serwera bazy danych (94)
  • Szybkie i bezpieczne zatrzymywanie serwera (95)
  • Awaryjne zatrzymywanie serwera (96)
  • Ponowne ładowanie plików konfiguracyjnych serwera (97)
  • Szybkie restartowanie serwera (99)
  • Zapobieganie nowym połączeniom (101)
  • Ograniczanie liczby sesji dla każdego użytkownika do jednej (103)
  • Rozłączanie użytkowników (104)
  • Projektowanie pod kątem obsługi wielu podmiotów (106)
  • Stosowanie wielu schematów (107)
  • Przyznawanie użytkownikom własnych, prywatnych baz danych (110)
  • Uruchamianie wielu serwerów w jednym systemie (112)
  • Konfigurowanie puli połączeń (113)

Rozdział 5. Tabele i dane (117)

  • Wprowadzenie (117)
  • Wybieranie właściwych nazw dla obiektów bazy danych (118)
  • Obsługa obiektów z nazwami otoczonymi cudzysłowami (120)
  • Wymuszanie stosowania tych samych definicji dla tak samo nazwanych kolumn (122)
  • Identyfikacja i usuwanie powtarzających się wierszy (126)
  • Zapobieganie występowaniu powtarzających się wierszy (129)
  • Odnajdywanie unikatowego klucza dla zbioru danych (135)
  • Generowanie danych testowych (137)
  • Losowe próbkowanie danych (141)
  • Ładowanie danych z arkusza kalkulacyjnego (143)
  • Ładowanie danych ze zwykłych plików (146)

Rozdział 6. Bezpieczeństwo (151)

  • Wprowadzenie (151)
  • Wycofywanie dostępu użytkownika do tabeli (153)
  • Nadawanie użytkownikowi uprawnień dostępu do tabeli (155)
  • Tworzenie nowego użytkownika (157)
  • Tymczasowe uniemożliwianie użytkownikowi nawiązywania połączenia (158)
  • Usuwanie użytkownika bez usuwania jego danych (160)
  • Sprawdzanie, czy wszyscy użytkownicy stosują bezpieczne hasła (162)
  • Nadawanie konkretnym użytkownikom ograniczonych uprawnień superużytkownika (163)
  • Weryfikacja zmian wprowadzonych za pomocą wyrażeń języka DDL (166)
  • Weryfikacja zmian w danych (168)
  • Integracja z serwerem LDAP (171)
  • Nawiązywanie połączenia SSL (172)
  • Szyfrowanie poufnych danych (175)

Rozdział 7. Administracja bazą danych (181)

  • Wprowadzenie (181)
  • Pisanie skryptu, który albo jest wykonywany w całości, albo nie jest wykonywany wcale (183)
  • Pisanie skryptu narzędzia psql, który przerwie pracę w momencie napotkania pierwszego błędu (185)
  • Wykonywanie operacji na wielu tabelach (187)
  • Dodawanie i usuwanie kolumn tabeli (192)
  • Zmiana typu danych kolumny (195)
  • Dodawanie i usuwanie schematów (198)
  • Przenoszenie obiektów pomiędzy schematami (200)
  • Dodawanie i usuwanie przestrzeni tabel (201)
  • Przenoszenie obiektów pomiędzy przestrzeniami tabel (205)
  • Uzyskiwanie dostępu do obiektów należących do innych baz danych PostgreSQL (208)
  • Umożliwianie aktualizacji perspektyw (214)

Rozdział 8. Monitoring i diagnostyka (221)

  • Wprowadzenie (221)
  • Czy użytkownik jest połączony? (225)
  • Co uruchamiają użytkownicy? (226)
  • Czy użytkownicy są aktywni, czy zablokowani? (229)
  • Kto blokuje użytkowników? (231)
  • Zabijanie konkretnej sesji (232)
  • Rozstrzyganie transakcji, której przygotowanie budzi wątpliwości (235)
  • Czy ktokolwiek używa określonej tabeli? (235)
  • Kiedy ktoś po raz ostatni używał tej tabeli? (237)
  • Ile przestrzeni dyskowej zajmują dane tymczasowe? (240)
  • Dlaczego spadła szybkość wykonywania zapytań? (242)
  • Badanie błędów i przygotowywanie raportów (246)
  • Generowanie codziennych podsumowań błędów zarejestrowanych w pliku dziennika (248)

Rozdział 9. Bieżąca konserwacja (251)

  • Wprowadzenie (251)
  • Kontrola automatycznej konserwacji bazy danych (252)
  • Unikanie automatycznego mrożenia i uszkodzeń stron (258)
  • Unikanie przekręcania licznika transakcji (260)
  • Usuwanie starych, przygotowanych transakcji (262)
  • Czynności na rzecz użytkowników często korzystających z tabel tymczasowych (265)
  • Identyfikacja i naprawianie przerośniętych tabel i indeksów (266)
  • Konserwacja indeksów (271)
  • Odnajdywanie nieużywanych indeksów (275)
  • Ostrożne usuwanie niepotrzebnych indeksów (276)
  • Planowanie konserwacji (278)

Rozdział 10. Wydajność i przetwarzanie współbieżne (281)

  • Wprowadzenie (281)
  • Odnajdywanie wolnych wyrażeń języka SQL (282)
  • Gromadzenie standardowych statystyk z perspektyw pg_stat* (285)
  • Identyfikacja przyczyn wolnego działania wyrażeń języka SQL (287)
  • Ograniczanie liczby zwracanych wierszy (291)
  • Upraszczanie złożonych wyrażeń języka SQL (293)
  • Przyspieszanie zapytań bez ich przebudowywania (299)
  • Dlaczego zapytanie nie używa indeksu? (302)
  • Jak wymusić na zapytaniu użycie indeksu? (303)
  • Stosowanie techniki blokowania optymistycznego (305)
  • Raportowanie o problemach związanych z wydajnością (307)

Rozdział 11. Kopie zapasowe i odzyskiwanie baz danych (309)

  • Wprowadzenie (310)
  • Rozumienie procesu odzyskiwania danych po awarii oraz kontrola odpowiednich mechanizmów (310)
  • Planowanie tworzenia kopii zapasowych (312)
  • Logiczna kopia zapasowa jednej bazy danych tworzona w czasie rzeczywistym (316)
  • Logiczna kopia zapasowa wszystkich baz danych tworzona w czasie rzeczywistym (318)
  • Logiczna kopia zapasowa wszystkich tabel w pojedynczej przestrzeni tabel tworzona w czasie rzeczywistym (319)
  • Kopia zapasowa definicji obiektów bazy danych (321)
  • Autonomiczna, fizyczna kopia zapasowa bazy danych tworzona w czasie rzeczywistym (322)
  • Fizyczna kopia bazy danych tworzona w czasie rzeczywistym i archiwizacja ciągła (325)
  • Odzyskiwanie wszystkich baz danych (328)
  • Odzyskiwanie do punktu w czasie (332)
  • Odzyskiwanie usuniętej lub uszkodzonej tabeli (335)
  • Odzyskiwanie usuniętej lub uszkodzonej przestrzeni tabel (338)
  • Odzyskiwanie usuniętej lub uszkodzonej bazy danych (340)
  • Podnoszenie wydajności tworzenia kopii zapasowych i (lub) odzyskiwania baz danych (341)
  • Przyrostowe i różnicowe tworzenie kopii zapasowych i odzyskiwanie baz danych (345)

Rozdział 12. Replikacja i aktualizacje (349)

  • Wprowadzenie (349)
  • Terminologia związana z replikacją (350)
  • Zalecane praktyki replikacji (354)
  • Replikacja poprzez przesyłanie dzienników w formie plików (356)
  • Konfigurowanie replikacji poprzez strumieniowe przesyłanie dzienników (361)
  • Zarządzanie replikacją poprzez przesyłanie dzienników (366)
  • Zarządzanie trybem gorącej gotowości (370)
  • Replikacja selektywna przy użyciu narzędzia Londiste (375)
  • Replikacja selektywna przy użyciu narzędzia Slony 2.0 (380)
  • Równoważenie obciążeń za pomocą narzędzia pgpool-II 3.0 (385)
  • Aktualizacje (podwersje) (389)
  • Aktualizacje działającego serwera do wersji głównych (390)
  • Aktualizacje do wersji głównych w sieci przy użyciu narzędzi do replikacji (393)

Skorowidz (395)

  • Title: PostgreSQL. Receptury dla administratora
  • Author: Simon Riggs, Hannu Krosing
  • Original title: PostgreSQL 9 Administration Cookbook
  • Translation: Mikołaj Szczepaniak
  • ISBN: 978-83-246-3596-2, 9788324635962
  • Date of issue: 2011-09-20
  • Format: Ebook
  • Item ID: psqlra
  • Publisher: Helion