On 17.05.20 17:28, Alvaro Herrera wrote:
I think the terms under discussion are just
* cluster
* instance
* server
Despite the short period of its existence the glossary achieved some
importance, see:
https://www.postgresql.org/message-id/b8e12875ebec9e6d3107df5fa1129e1e%40postgrespro.ru
. We have to be careful with publications. It's not acceptable that we
change definitions from release to release. Therefore IMO we should mark
or even ignore such terms for which we cannot reach consensus.
Can you agree to the following definitions? If no, we can alternatively
formulate for each of them: "Under discussion - currently not defined".
My proposals are inspired by chapter 2.2 Concepts: "Tables are grouped
into databases, and a collection of databases managed by a single
PostgreSQL server instance constitutes a database cluster."
- "Database" (No change to existing definition): "A named collection of
SQL objects."
- "Database Cluster", "Cluster" (New definition and rearrangements of
some sentences): "A collection of related databases, and their common
static and dynamic meta-data.
This term is sometimes used to refer to an instance.
(Don't confuse the term CLUSTER with the SQL command CLUSTER.)"
- "Data Directory" (Replaced 'instance' by 'cluster'): "The base
directory on the filesystem of a server that contains all data files and
subdirectories associated with a cluster (with the exception of
tablespaces). The environment variable PGDATA is commonly used to refer
to the data directory.
A cluster's storage space comprises the data directory plus any
additional tablespaces.
For more information, see Section 68.1."
- "Database Server", "Instance" (Major changes): "A group of backend and
auxiliary processes that communicate using a common shared memory area.
One postmaster process manages the instance; one instance manages
exactly one cluster with all its databases. Many instances can run on
the same server as long as their TCP ports do not conflict.
The instance handles all key features of a DBMS: read and write access
to files and shared memory, assurance of the ACID properties,
connections to client processes, privilege verification, crash recovery,
replication, etc."
- "Server" (No change to existing definition): "A computer on which
PostgreSQL instances run. The term server denotes real hardware, a
container, or a virtual machine.
This term is sometimes used to refer to an instance or to a host."
- "Host" (No change to existing definition): "A computer that
communicates with other computers over a network. This is sometimes used
as a synonym for server. It is also used to refer to a computer where
client processes run."
--
Jürgen Purtz