Re: "backend process" confused with "server process"
On Mon, Apr 15, 2024 at 5:27 PM Daniel Gustafsson wrote: > > > On 15 Apr 2024, at 11:07, Andrey M. Borodin wrote: > >> On 15 Apr 2024, at 14:01, jian he wrote: > > >> "is not a PostgreSQL server process" is the same thing as "not a > >> PostgreSQL backend process”? > > > > As far as I understand, backend is something attached to frontend. > > There might be infrastructure processes like syslogger or stats collector, > > client can signal it too. > > I think that's a good summary, in line with the glossary in our docs where we > define "Auxiliary process" and "Backend (process)" (but not PostgreSQL server > process which maybe we should?). "PostgreSQL server process" is used in copy > to/from error messaging as well in what seems to be a user-freindly way to say > "backend". In the docs we mostly use "server process" to mean a process > running in the operating system on the server. In a few places we use > "database server process" too when talking about backends. > > In the case of pg_log_backend_memory_contexts(), the function comment states > the following: > > "Signal a backend or an auxiliary process to log its memory contexts" > > So in this case, "PostgreSQL server process" seems like the correct term. > in [1] (pg_stat_activity) does "PostgreSQL server process" means all backend_type: autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, standalone backend, startup, walreceiver, walsender and walwriter. ? and `PostgreSQL backend process` means only `client backend`? I aslo found an minor inconsistency. `Autovacuum (process)` is not the same thing as `autovacuum launcher` ? but there is a link from `autovacuum launcher` to `Autovacuum (process)`. [1] https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW [2] https://www.postgresql.org/docs/current/glossary.html
Re: "backend process" confused with "server process"
> On 15 Apr 2024, at 11:07, Andrey M. Borodin wrote: >> On 15 Apr 2024, at 14:01, jian he wrote: >> "is not a PostgreSQL server process" is the same thing as "not a >> PostgreSQL backend process”? > > As far as I understand, backend is something attached to frontend. > There might be infrastructure processes like syslogger or stats collector, > client can signal it too. I think that's a good summary, in line with the glossary in our docs where we define "Auxiliary process" and "Backend (process)" (but not PostgreSQL server process which maybe we should?). "PostgreSQL server process" is used in copy to/from error messaging as well in what seems to be a user-freindly way to say "backend". In the docs we mostly use "server process" to mean a process running in the operating system on the server. In a few places we use "database server process" too when talking about backends. In the case of pg_log_backend_memory_contexts(), the function comment states the following: "Signal a backend or an auxiliary process to log its memory contexts" So in this case, "PostgreSQL server process" seems like the correct term. -- Daniel Gustafsson
Re: "backend process" confused with "server process"
> On 15 Apr 2024, at 14:01, jian he wrote: > > "is not a PostgreSQL server process" is the same thing as "not a > PostgreSQL backend process”? As far as I understand, backend is something attached to frontend. There might be infrastructure processes like syslogger or stats collector, client can signal it too. Best regards, Andrey Borodin.
"backend process" confused with "server process"
hi. pg_log_backend_memory_contexts we have ` if (proc == NULL) { /* * This is just a warning so a loop-through-resultset will not abort * if one backend terminated on its own during the run. */ ereport(WARNING, (errmsg("PID %d is not a PostgreSQL server process", pid))); PG_RETURN_BOOL(false); } ` pg_signal_backend ` if (proc == NULL) { /* * This is just a warning so a loop-through-resultset will not abort * if one backend terminated on its own during the run. */ ereport(WARNING, (errmsg("PID %d is not a PostgreSQL backend process", pid))); return SIGNAL_BACKEND_ERROR; } ` "is not a PostgreSQL server process" is the same thing as "not a PostgreSQL backend process"? should we unify it?