3
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
4
<title>1.2.�Architectural Fundamentals</title>
5
<link rel="stylesheet" href="stylesheet.css" type="text/css">
6
<link rev="made" href="pgsql-docs@postgresql.org">
7
<meta name="generator" content="DocBook XSL Stylesheets V1.70.0">
8
<link rel="start" href="index.html" title="PostgreSQL 8.1.4 Documentation">
9
<link rel="up" href="tutorial-start.html" title="Chapter�1.�Getting Started">
10
<link rel="prev" href="tutorial-start.html" title="Chapter�1.�Getting Started">
11
<link rel="next" href="tutorial-createdb.html" title="1.3.�Creating a Database">
12
<link rel="copyright" href="ln-legalnotice.html" title="Legal Notice">
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="sect1" lang="en">
15
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
16
<a name="tutorial-arch"></a>1.2.�Architectural Fundamentals</h2></div></div></div>
17
<p> Before we proceed, you should understand the basic
18
<span class="productname">PostgreSQL</span> system architecture.
19
Understanding how the parts of
20
<span class="productname">PostgreSQL</span> interact will make this
21
chapter somewhat clearer.
23
<p> In database jargon, <span class="productname">PostgreSQL</span> uses a
24
client/server model. A <span class="productname">PostgreSQL</span>
25
session consists of the following cooperating processes
29
<div class="itemizedlist"><ul type="disc">
30
<li><p> A server process, which manages the database files, accepts
31
connections to the database from client applications, and
32
performs actions on the database on behalf of the clients. The
33
database server program is called
34
<code class="filename">postmaster</code>.
35
<a name="id556983"></a>
37
<li><p> The user's client (frontend) application that wants to perform
38
database operations. Client applications can be very diverse
39
in nature: a client could be a text-oriented tool, a graphical
40
application, a web server that accesses the database to
41
display web pages, or a specialized database maintenance tool.
42
Some client applications are supplied with the
43
<span class="productname">PostgreSQL</span> distribution; most are
49
<p> As is typical of client/server applications, the client and the
50
server can be on different hosts. In that case they communicate
51
over a TCP/IP network connection. You should keep this in mind,
52
because the files that can be accessed on a client machine might
53
not be accessible (or might only be accessible using a different
54
file name) on the database server machine.
56
<p> The <span class="productname">PostgreSQL</span> server can handle
57
multiple concurrent connections from clients. For that purpose it
58
starts (“<span class="quote">forks</span>”) a new process for each connection.
59
From that point on, the client and the new server process
60
communicate without intervention by the original
61
<code class="filename">postmaster</code> process. Thus, the
62
<code class="filename">postmaster</code> is always running, waiting for
63
client connections, whereas client and associated server processes
64
come and go. (All of this is of course invisible to the user. We
65
only mention it here for completeness.)