1
by Martin Pitt
Import upstream version 9.1~beta1 |
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2 |
<HTML |
|
3 |
><HEAD |
|
4 |
><TITLE |
|
5 |
>Overview of PostgreSQL Internals</TITLE |
|
6 |
><META |
|
7 |
NAME="GENERATOR" |
|
8 |
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK |
|
9 |
REV="MADE" |
|
10 |
HREF="mailto:pgsql-docs@postgresql.org"><LINK |
|
11 |
REL="HOME" |
|
1.1.9
by Martin Pitt
Import upstream version 9.1.5 |
12 |
TITLE="PostgreSQL 9.1.5 Documentation" |
1
by Martin Pitt
Import upstream version 9.1~beta1 |
13 |
HREF="index.html"><LINK |
14 |
REL="UP" |
|
15 |
TITLE="Internals" |
|
16 |
HREF="internals.html"><LINK |
|
17 |
REL="PREVIOUS" |
|
18 |
TITLE="Internals" |
|
19 |
HREF="internals.html"><LINK |
|
20 |
REL="NEXT" |
|
21 |
TITLE="The Path of a Query" |
|
22 |
HREF="query-path.html"><LINK |
|
23 |
REL="STYLESHEET" |
|
24 |
TYPE="text/css" |
|
25 |
HREF="stylesheet.css"><META |
|
26 |
HTTP-EQUIV="Content-Type" |
|
27 |
CONTENT="text/html; charset=ISO-8859-1"><META |
|
28 |
NAME="creation" |
|
1.1.9
by Martin Pitt
Import upstream version 9.1.5 |
29 |
CONTENT="2012-08-14T22:55:48"></HEAD |
1
by Martin Pitt
Import upstream version 9.1~beta1 |
30 |
><BODY |
31 |
CLASS="CHAPTER" |
|
32 |
><DIV |
|
33 |
CLASS="NAVHEADER" |
|
34 |
><TABLE |
|
35 |
SUMMARY="Header navigation table" |
|
36 |
WIDTH="100%" |
|
37 |
BORDER="0" |
|
38 |
CELLPADDING="0" |
|
39 |
CELLSPACING="0" |
|
40 |
><TR |
|
41 |
><TH |
|
42 |
COLSPAN="5" |
|
43 |
ALIGN="center" |
|
44 |
VALIGN="bottom" |
|
45 |
><A |
|
46 |
HREF="index.html" |
|
1.1.9
by Martin Pitt
Import upstream version 9.1.5 |
47 |
>PostgreSQL 9.1.5 Documentation</A |
1
by Martin Pitt
Import upstream version 9.1~beta1 |
48 |
></TH |
49 |
></TR |
|
50 |
><TR |
|
51 |
><TD |
|
52 |
WIDTH="10%" |
|
53 |
ALIGN="left" |
|
54 |
VALIGN="top" |
|
55 |
><A |
|
56 |
TITLE="Internals" |
|
57 |
HREF="internals.html" |
|
58 |
ACCESSKEY="P" |
|
59 |
>Prev</A |
|
60 |
></TD |
|
61 |
><TD |
|
62 |
WIDTH="10%" |
|
63 |
ALIGN="left" |
|
64 |
VALIGN="top" |
|
65 |
><A |
|
1.1.6
by Martin Pitt
Import upstream version 9.1.2 |
66 |
HREF="internals.html" |
67 |
ACCESSKEY="U" |
|
68 |
>Up</A |
|
1
by Martin Pitt
Import upstream version 9.1~beta1 |
69 |
></TD |
70 |
><TD |
|
71 |
WIDTH="60%" |
|
72 |
ALIGN="center" |
|
73 |
VALIGN="bottom" |
|
74 |
></TD |
|
75 |
><TD |
|
1.1.6
by Martin Pitt
Import upstream version 9.1.2 |
76 |
WIDTH="20%" |
1
by Martin Pitt
Import upstream version 9.1~beta1 |
77 |
ALIGN="right" |
78 |
VALIGN="top" |
|
79 |
><A |
|
80 |
TITLE="The Path of a Query" |
|
81 |
HREF="query-path.html" |
|
82 |
ACCESSKEY="N" |
|
83 |
>Next</A |
|
84 |
></TD |
|
85 |
></TR |
|
86 |
></TABLE |
|
87 |
><HR |
|
88 |
ALIGN="LEFT" |
|
89 |
WIDTH="100%"></DIV |
|
90 |
><DIV |
|
91 |
CLASS="CHAPTER" |
|
92 |
><H1 |
|
93 |
><A |
|
94 |
NAME="OVERVIEW" |
|
95 |
></A |
|
96 |
>Chapter 44. Overview of PostgreSQL Internals</H1 |
|
97 |
><DIV |
|
98 |
CLASS="TOC" |
|
99 |
><DL |
|
100 |
><DT |
|
101 |
><B |
|
102 |
>Table of Contents</B |
|
103 |
></DT |
|
104 |
><DT |
|
105 |
>44.1. <A |
|
106 |
HREF="query-path.html" |
|
107 |
>The Path of a Query</A |
|
108 |
></DT |
|
109 |
><DT |
|
110 |
>44.2. <A |
|
111 |
HREF="connect-estab.html" |
|
112 |
>How Connections are Established</A |
|
113 |
></DT |
|
114 |
><DT |
|
115 |
>44.3. <A |
|
116 |
HREF="parser-stage.html" |
|
117 |
>The Parser Stage</A |
|
118 |
></DT |
|
119 |
><DD |
|
120 |
><DL |
|
121 |
><DT |
|
122 |
>44.3.1. <A |
|
1.1.9
by Martin Pitt
Import upstream version 9.1.5 |
123 |
HREF="parser-stage.html#AEN84040" |
1
by Martin Pitt
Import upstream version 9.1~beta1 |
124 |
>Parser</A |
125 |
></DT |
|
126 |
><DT |
|
127 |
>44.3.2. <A |
|
1.1.9
by Martin Pitt
Import upstream version 9.1.5 |
128 |
HREF="parser-stage.html#AEN84076" |
1
by Martin Pitt
Import upstream version 9.1~beta1 |
129 |
>Transformation Process</A |
130 |
></DT |
|
131 |
></DL |
|
132 |
></DD |
|
133 |
><DT |
|
134 |
>44.4. <A |
|
135 |
HREF="rule-system.html" |
|
136 |
>The <SPAN |
|
137 |
CLASS="PRODUCTNAME" |
|
138 |
>PostgreSQL</SPAN |
|
139 |
> Rule System</A |
|
140 |
></DT |
|
141 |
><DT |
|
142 |
>44.5. <A |
|
143 |
HREF="planner-optimizer.html" |
|
144 |
>Planner/Optimizer</A |
|
145 |
></DT |
|
146 |
><DT |
|
147 |
>44.6. <A |
|
148 |
HREF="executor.html" |
|
149 |
>Executor</A |
|
150 |
></DT |
|
151 |
></DL |
|
152 |
></DIV |
|
153 |
><DIV |
|
154 |
CLASS="NOTE" |
|
155 |
><BLOCKQUOTE |
|
156 |
CLASS="NOTE" |
|
157 |
><P |
|
158 |
><B |
|
159 |
>Author: </B |
|
160 |
> This chapter originated as part of
|
|
161 |
<A |
|
162 |
HREF="biblio.html#SIM98" |
|
163 |
><I |
|
164 |
>Enhancement of the ANSI SQL Implementation of PostgreSQL</I |
|
165 |
></A |
|
166 |
>, Stefan Simkovics'
|
|
167 |
Master's Thesis prepared at Vienna University of Technology under the direction |
|
168 |
of O.Univ.Prof.Dr. Georg Gottlob and Univ.Ass. Mag. Katrin Seyr. |
|
169 |
</P |
|
170 |
></BLOCKQUOTE |
|
171 |
></DIV |
|
172 |
><P |
|
173 |
> This chapter gives an overview of the internal structure of the
|
|
174 |
backend of <SPAN |
|
175 |
CLASS="PRODUCTNAME" |
|
176 |
>PostgreSQL</SPAN |
|
177 |
>. After having
|
|
178 |
read the following sections you should have an idea of how a query |
|
179 |
is processed. This chapter does not aim to provide a detailed |
|
180 |
description of the internal operation of |
|
181 |
<SPAN |
|
182 |
CLASS="PRODUCTNAME" |
|
183 |
>PostgreSQL</SPAN |
|
184 |
>, as such a document would be
|
|
185 |
very extensive. Rather, this chapter is intended to help the reader |
|
186 |
understand the general sequence of operations that occur within the |
|
187 |
backend from the point at which a query is received, to the point |
|
188 |
at which the results are returned to the client. |
|
189 |
</P |
|
190 |
></DIV |
|
191 |
><DIV |
|
192 |
CLASS="NAVFOOTER" |
|
193 |
><HR |
|
194 |
ALIGN="LEFT" |
|
195 |
WIDTH="100%"><TABLE |
|
196 |
SUMMARY="Footer navigation table" |
|
197 |
WIDTH="100%" |
|
198 |
BORDER="0" |
|
199 |
CELLPADDING="0" |
|
200 |
CELLSPACING="0" |
|
201 |
><TR |
|
202 |
><TD |
|
203 |
WIDTH="33%" |
|
204 |
ALIGN="left" |
|
205 |
VALIGN="top" |
|
206 |
><A |
|
207 |
HREF="internals.html" |
|
208 |
ACCESSKEY="P" |
|
209 |
>Prev</A |
|
210 |
></TD |
|
211 |
><TD |
|
212 |
WIDTH="34%" |
|
213 |
ALIGN="center" |
|
214 |
VALIGN="top" |
|
215 |
><A |
|
216 |
HREF="index.html" |
|
217 |
ACCESSKEY="H" |
|
218 |
>Home</A |
|
219 |
></TD |
|
220 |
><TD |
|
221 |
WIDTH="33%" |
|
222 |
ALIGN="right" |
|
223 |
VALIGN="top" |
|
224 |
><A |
|
225 |
HREF="query-path.html" |
|
226 |
ACCESSKEY="N" |
|
227 |
>Next</A |
|
228 |
></TD |
|
229 |
></TR |
|
230 |
><TR |
|
231 |
><TD |
|
232 |
WIDTH="33%" |
|
233 |
ALIGN="left" |
|
234 |
VALIGN="top" |
|
235 |
>Internals</TD |
|
236 |
><TD |
|
237 |
WIDTH="34%" |
|
238 |
ALIGN="center" |
|
239 |
VALIGN="top" |
|
240 |
><A |
|
241 |
HREF="internals.html" |
|
242 |
ACCESSKEY="U" |
|
243 |
>Up</A |
|
244 |
></TD |
|
245 |
><TD |
|
246 |
WIDTH="33%" |
|
247 |
ALIGN="right" |
|
248 |
VALIGN="top" |
|
249 |
>The Path of a Query</TD |
|
250 |
></TR |
|
251 |
></TABLE |
|
252 |
></DIV |
|
253 |
></BODY |
|
254 |
></HTML |
|
255 |
>
|