Preface |
|
1 | (4) |
|
Chapter 1 Installing PostgreSQL |
|
|
5 | (12) |
|
|
5 | (8) |
|
Understanding the PostgreSQL version numbers |
|
|
6 | (1) |
|
Choosing the right version |
|
|
6 | (1) |
|
Installing binary packages |
|
|
6 | (1) |
|
Installing PostgreSQL on Debian or Ubuntu |
|
|
7 | (1) |
|
Installing PostgreSQL on Red-Hat-based systems |
|
|
8 | (1) |
|
Compiling PostgreSQL from source |
|
|
8 | (1) |
|
|
9 | (1) |
|
Installing the contrib packages |
|
|
10 | (1) |
|
Finalizing your installation |
|
|
11 | (1) |
|
Creating a database instance |
|
|
11 | (1) |
|
|
12 | (1) |
|
Understanding the existing databases |
|
|
13 | (1) |
|
|
14 | (1) |
|
|
15 | (2) |
|
Chapter 2 Indexing and Performance Tuning |
|
|
17 | (26) |
|
Using simple binary trees |
|
|
17 | (1) |
|
|
18 | (11) |
|
Understanding the concept of execution plans |
|
|
19 | (1) |
|
|
20 | (1) |
|
Drawing important conclusions |
|
|
21 | (1) |
|
|
22 | (1) |
|
Analyzing the performance of a query |
|
|
23 | (1) |
|
The internal structure of a B-tree index |
|
|
24 | (1) |
|
Understanding the B-tree internals |
|
|
25 | (1) |
|
|
25 | (1) |
|
|
26 | (2) |
|
|
28 | (1) |
|
Dealing with different types of indexes |
|
|
29 | (1) |
|
Detecting missing indexes |
|
|
29 | (3) |
|
|
32 | (3) |
|
|
34 | (1) |
|
Adjusting memory parameters |
|
|
35 | (6) |
|
Optimizing shared buffers |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
37 | (4) |
|
Improving maintenance_work_mem |
|
|
41 | (1) |
|
Adjusting effective_cache_size |
|
|
41 | (1) |
|
|
41 | (2) |
|
Chapter 3 Users and Permissions |
|
|
43 | (22) |
|
Understanding PostgreSQL security |
|
|
43 | (20) |
|
|
44 | (1) |
|
Managing network authentication |
|
|
45 | (1) |
|
|
46 | (1) |
|
Authentication methods available |
|
|
47 | (1) |
|
|
48 | (1) |
|
|
49 | (1) |
|
|
50 | (1) |
|
Handling instance-level permissions |
|
|
51 | (1) |
|
|
51 | (3) |
|
Modifying and dropping roles |
|
|
54 | (2) |
|
Controlling database-level permissions |
|
|
56 | (1) |
|
Understanding schema-level permissions |
|
|
57 | (2) |
|
Handling table-level permissions |
|
|
59 | (2) |
|
|
61 | (1) |
|
Improving security with SELinux |
|
|
61 | (2) |
|
|
63 | (2) |
|
Chapter 4 Managing Logfiles |
|
|
65 | (10) |
|
Understanding the PostgreSQL log architecture |
|
|
65 | (4) |
|
Configuring log destinations |
|
|
66 | (1) |
|
|
66 | (1) |
|
|
67 | (1) |
|
Configuring logs on Windows |
|
|
68 | (1) |
|
Performance considerations |
|
|
68 | (1) |
|
Configuring the amount of log output |
|
|
69 | (3) |
|
Making logs more readable |
|
|
70 | (1) |
|
|
71 | (1) |
|
Making log creation more fine grained |
|
|
72 | (2) |
|
|
72 | (1) |
|
|
73 | (1) |
|
|
73 | (1) |
|
|
74 | (1) |
|
Chapter 5 Backup and Recovery |
|
|
75 | (10) |
|
Importing and exporting data |
|
|
75 | (4) |
|
|
75 | (1) |
|
Basic operations of the COPY command |
|
|
76 | (2) |
|
|
78 | (1) |
|
|
79 | (5) |
|
|
79 | (1) |
|
More sophisticated dumping |
|
|
79 | (1) |
|
Performing partial replays |
|
|
80 | (1) |
|
Passing users and passwords |
|
|
81 | (1) |
|
Dumping an entire instance |
|
|
82 | (1) |
|
Understanding backups and user creation |
|
|
83 | (1) |
|
|
84 | (1) |
|
Chapter 6 Handling Replication and Improving Performance |
|
|
85 | (24) |
|
Understanding the PostgreSQL transaction log |
|
|
85 | (3) |
|
The purpose of the transaction log |
|
|
86 | (1) |
|
Inspecting the size of the transaction log |
|
|
87 | (1) |
|
Configuring the checkpoints |
|
|
88 | (4) |
|
Optimizing the checkpoints |
|
|
89 | (1) |
|
Configuring the distance between checkpoints |
|
|
89 | (1) |
|
|
90 | (2) |
|
Setting up an asynchronous replication |
|
|
92 | (6) |
|
Obtaining a high-level overview |
|
|
92 | (1) |
|
Setting up replication step by step |
|
|
93 | (1) |
|
|
93 | (1) |
|
|
93 | (1) |
|
Fetching an initial backup |
|
|
94 | (2) |
|
Creating and modifying the recovery.conf file |
|
|
96 | (1) |
|
|
96 | (1) |
|
Turning slaves into masters |
|
|
97 | (1) |
|
Upgrading to synchronous replication |
|
|
98 | (1) |
|
Improving and monitoring the replication |
|
|
99 | (4) |
|
Keeping an eye on streaming |
|
|
99 | (1) |
|
Making things more robust |
|
|
100 | (1) |
|
|
101 | (2) |
|
Handling point-in-time recovery |
|
|
103 | (3) |
|
|
103 | (2) |
|
Replaying transaction logs |
|
|
105 | (1) |
|
|
106 | (2) |
|
The importance of timelines |
|
|
108 | (1) |
|
|
108 | (1) |
|
Chapter 7 Monitoring PostgreSQL |
|
|
109 | (12) |
|
Understanding the system statistics of PostgreSQL |
|
|
109 | (8) |
|
Checking out the pg_stat_activity file |
|
|
110 | (1) |
|
|
111 | (2) |
|
|
113 | (1) |
|
|
114 | (1) |
|
Checking out the information in the background writer |
|
|
115 | (1) |
|
|
116 | (1) |
|
|
117 | (1) |
|
|
118 | (2) |
|
|
118 | (2) |
|
|
120 | (1) |
Index |
|
121 | |