Re: "backend process" confused with "server process"

2024-04-15 Thread jian he
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"

2024-04-15 Thread Daniel Gustafsson
> 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"

2024-04-15 Thread Andrey M. Borodin



> 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"

2024-04-15 Thread jian he
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?