• Nie Znaleziono Wyników

PostgreSQL. Receptury dla administratora

N/A
N/A
Protected

Academic year: 2022

Share "PostgreSQL. Receptury dla administratora"

Copied!
10
0
0

Pełen tekst

(1)
(2)

Idź do

• Spis treści

• Przykładowy rozdział

• Skorowidz

• Katalog online

• Dodaj do koszyka

• Zamów cennik

• Zamów informacje o nowościach

• Fragmenty książek online

Helion SA ul. Kościuszki 1c 44-100 Gliwice tel. 32 230 98 63

e-mail: helion@helion.pl

© Helion 1991–2011

Katalog książek

Twój koszyk

Cennik i informacje

Czytelnia

Kontakt

• Zamów drukowany katalog

PostgreSQL. Receptury dla administratora

Autor: Simon Riggs, Hannu Krosing Tłumaczenie: Mikołaj Szczepaniak ISBN: 978-83-246-3061-5

Tytuł oryginału: PostgreSQL 9 Administration Cookbook Format: 170×230, stron: 408

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!

(3)

Spis treĂci

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

(4)

Spis treci

4

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

(5)

Spis treci

5

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

(6)

Spis treci

6

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

(7)

Spis treci

7

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

(8)

3

Konfiguracja

Ten rozdzia zawiera nastpujce podrozdziay:

Q

„Lektura podrcznika uytkownika (RTFM)”

Q

„Planowanie nowej bazy danych”

Q

„Zmiana parametrów na poziomie programów”

Q

„Jakie s biece ustawienia konfiguracyjne?”

Q

„Które parametry zawieraj wartoci inne ni ustawienia domylne?”

Q

„Aktualizacja pliku parametrów”

Q

„Ustawianie parametrów dla konkretnych grup uytkowników”

Q

„Lista podstawowych zada zwizanych z konfiguracj serwera”

Q

„Dodawanie moduu zewntrznego do systemu PostgreSQL”

Q

„Uruchamianie serwera w trybie oszczdzania energii”

Wprowadzenie

Otrzymuj mnóstwo pyta dotyczcych ustawiania parametrów w systemie PostgreSQL.

Wszyscy jestemy zajci, zatem wikszo z nas szuka róda informacji, które pozwolioby w cigu piciu minut rozstrzygn wszystkie wtpliwoci. Wanie taki jest cel kadej ksiki zoonej z receptur, wic jestemy na najlepszej drodze do osignicia wymarzonego ideau.

Niektórzy sdz, e istniej jakie magiczne, uniwersalne ustawienia parametrów, które podnios

wydajno ich systemów. Powicaj dugie godziny na lektur rozmaitych ksiek w poszukiwa-

niu wskazówek. Innych nie opuszcza zadowolenie, poniewa odkryli jak witryn internetow,

która wszystko wyjania — s pewni, e ich baza danych jest skonfigurowana prawidowo.

(9)

PostgreSQL. Receptury dla administratora

76

W wikszoci przypadków zrozumienie ustawie nie stanowi wikszego problemu. Duo trud- niejsze jest wypracowanie najlepszych ustawie. Co wicej, nawet optymalne ustawienia nierzadko zmieniaj si wraz z rozwojem sytuacji. W tym rozdziale skoncentrujemy si

przede wszystkim na tym, jak, kiedy i gdzie naley zmienia ustawienia parametrów.

Lektura podrÚcznika uĝytkownika (RTFM)

Skrót RTFM (od ang. Reading the Fine Manual) czsto jest uywany w roli bardziej opryskli- wego odpowiednika stwierdzenia „nie przeszkadzaj, jestem zajty”. Co ciekawe, zachta do przeczytania podrcznika uytkownika w zdecydowanej wikszoci przypadków jest najlepsz

moliw rad. Nie naley z góry odrzuca podobnych sugestii — powinnimy raczej korzysta

z tak cennych wskazówek. Warto przy tym pamita, e zawsze naley siga po podrcznik uytkownika, którego wersja odpowiada wersji serwera, na którym pracujemy.

Podrcznik uytkownika systemu PostgreSQL jest napisany w bardzo przemylany sposób.

Co wicej, omawia wybrane zagadnienia w sposób wyczerpujcy. Jedn z jego najwikszych wad jest to, e dokumenty skadajce si na ten podrcznik nie s zorganizowane z myl o oso- bach, które dopiero poznaj system PostgreSQL. Rozkad materiau przystosowano raczej do po- trzeb osób poszukujcych konkretnych informacji technicznych, tak aby mogy byskawicznie ocenia, czy napotykane problemy wynikaj na przykad z bdów samych uytkowników.

Podrcznik w niektórych przypadkach odpowiada na pytanie Co?, ale ju duo rzadziej od- powiada na pytania Dlaczego? czy Jak?.

Poniewa sam uczestniczyem w pisaniu wybranych sekcji dokumentacji systemu PostgreSQL, uwaam za swój obowizek zachci czytelnika do lektury tego materiau. Mimo wszystkich zalet podrcznika, ta ksika zawiera mnóstwo przydatnych informacji, których nie mona znale  w tamtych dokumentach.

Jak to zrobi…

Najwaniejsze dokumenty dla kadego wydania s dostpne na nastpujcej stronie interne- towej: http://www.postgresql.org/docs/manuals/.

Najwikszym zainteresowaniem ciesz si nastpujce fragmenty dokumentacji:

Q

dokumentacja polece jzyka SQL oraz podrcznik uytkownika narzdzi klienta i serwera (http://www.postgresql.org/docs/9.0/interactive/reference.html);

Q

konfiguracja (http://www.postgresql.org/docs/9.0/interactive/runtime-config.html);

Q

funkcje (http://www.postgresql.org/docs/9.0/interactive/functions.html).

Czytelnik moe te pobra podrcznik uytkownika w formie pliku PDF, który w pewnych przypadkach uatwia wyszukiwanie informacji. Szczerze odradzam drukowanie tego dokumentu!

Caa dokumentacja zajmuje ponad 2000 stron A4.

(10)

Rozdzia 3. • Konfiguracja

77

Jak to dziaa…

Dokumenty systemu PostgreSQL napisano w jzyku SGML, który pod wieloma wzgldami przypomina jzyk XML, cho w paru aspektach jest nieco inny. Pliki jzyka SGML s nastpnie przetwarzane i konwertowane na pliki w formatach HTML, PDF itp.

To nie wszystko…

Warto te zajrze do serwisu wiki w ramach witryny postgresql.org. Dodatkowe informacje mona znale  take pod adresem http://wiki.postgresql.org.

Planowanie nowej bazy danych

Planowanie nowej bazy danych bywa mudnym zadaniem. Dla wielu uytkowników mnogo

opcji jest przytaczajca — w tym podrozdziale zaproponujemy kilka przydatnych koncepcji.

Naley wystrzega si dróg na skróty i nieprzemylanych dziaa w nadziei, e nasza ograni- czona wiedza na zawsze pozwoli rozstrzyga wszelkie wtpliwoci.

Przygotowania

Czytelnik powinien by przygotowany na to zadanie. Nie naley jednak oczekiwa, e kto

dokadnie powie, co robi. Jeli nie dysponujemy jasno sprecyzowanymi wymaganiami, po- winnimy sami je spisa, oznaczajc kad pozycj jako zaoenie, nie wymaganie — nie wolno myli obu poj.

Naley przeprowadzi tyle operacji, ile bdzie konieczne do uzgodnienia wymaga ze wszystkimi zainteresowanymi. Po sporzdzeniu wymaga mona przystpi do budowy prototypu.

Jak to zrobi…

Naley przygotowa dokument obejmujcy nastpujce aspekty:

Q Projekt bazy danych: naley zaplanowa projekt bazy danych.

Q

Naley obliczy pocztkowy rozmiar bazy danych.

Q Analiza transakcji: jak uytkownicy bd uzyskiwali dostp do bazy danych?

Q

Naley przeanalizowa najczciej uywane cieki dostpu.

Q

Jakie s wymagania odnonie czasów odpowiedzi?

Cytaty

Powiązane dokumenty

Dla dowolnego wyrażenia E istnieje wyrażenie X , które stwierdza, że EX jest dowodliwe (tj. X jest prawdziwe wtedy i tylko wtedy, gdy EX jest dowodliwe).. Jedno z nich jest

Niniejsza prezentacja zawiera tekst artykułu O pojęciu relacji językowej, opublikowanego w 1983 roku w XIII numerze Studiów Semiotycznych. W artykule podaje

Pamiętamy, że reguły „filologiczne” poprawności trybów sylogistycznych mówią (oprócz jakości oraz ilości) o rozłożeniu terminów („braniu terminów w całym

Podawanie rozproszonych przesłanek (także błędnych) tak by przeciwnik nie zorientował się do czego zmierzamy a kiedy przeciwnik już zaakceptuje wszystko co potrzebne robimy z

W rozdziałach tych rozwija się problematykę zapoczątkowaną w artykule An axiom system for hypotaxis, a kontynuowaną w Grundideen der kombinatorischen Semantik. [Zobacz: Dodatek 15

Natomiast, gdy taka zapasowa czołówka działa na dwa AA jest już za duża, a światła też nie daje zbyt wiele.. Znani producenci sprzętu outdorowego zaczęli stosować

Ustandaryzowanym oraz powszechnie wykorzystywa- nym w sieci protokołem jest http (ang. Hypertext Transfer Protocol). Protokół http udostępnia odpowiednie metody, które

• Różnicowa kopia zapasowa bazy danych (differential database backup) – obejmuje wyłącznie ekstenty zmodyfikowane od czasu ostatniej pełnej kopii zapasowej.. • Częściowa