Understanding the interrelationships between PostgreSQL components will make this section clearer.
In terms of database terminology, PostgreSQL uses a client/server pattern. A PostgreSQL session consists of the following related processes (Programs):
A server process that manages database files, accepts connections from the client application to the database, and performs operations on the database on behalf of the client. The database server program is called Postgres .
Client (front-end) applications for users who need to perform database operations. Client applications may be a variety of themselves: they can be a tool for a character interface, an application of a graphical interface, a Web server that displays Web pages by accessing a database, or a special database management tool. Some client applications are provided with the PostgreSQL release, but most are user-developed.
As with typical client/server applications (c/S applications), these clients and servers can be on different hosts. They communicate over TCP/IP network connections. You should keep in mind that files that can be accessed on the client computer may not be accessible on the database server machine (or can only be accessed with a different file name).
The PostgreSQL server can handle multiple concurrent requests from the client. Therefore, it starts ("fork") a new process for each request. From this point on, the client and the new server process are no longer communicating through the initial postgres process. Therefore, the primary server is always running, waiting for the connection, and the client and its associated server process are starting to stop. Of course, the user is sure not to see these things. We're here to talk about this mainly for completeness.
The basic concept of PostgreSQL system