Thread: Background worker process

Background worker process

From
"Brandl, Wolfgang"
Date:

Hello

We want to start processes controlled by a prostgres table which acts like crontab.

So we want to start a background worker process which starts the defined functions.

 

Is it possible to start from a background worker process a child process with a specific User. So this process can only acces the data for his authority.

 

Like a SQL Intrusion with this definition nobody can start a process a Postgres superuser.

 

Any idea?

Regards

Wolfgang

Re: Background worker process

From
Laurenz Albe
Date:
Wolfgang Brandl wrote:
> We want to start processes controlled by a prostgres table which acts like crontab.
> So we want to start a background worker process which starts the defined functions.
>  
> Is it possible to start from a background worker process a child process with a specific User.

> So this process can only acces the data for his authority. 
> Like a SQL Intrusion with this definition nobody can start a process a Postgres superuser.

You normally do things like that on UNIX-like operating systems by
setting the "setuid" bit on the executable that you want to start
and transferring ownership to the desired user.

There is no other way for a non-root user like "postgres" to start
an executable as a different user.

Your setup seems complicated.
Why don't you have a daemon process running as root outside of PostgreSQL
that regularly checks the table and starts scheduled processes?

Yours,
Laurenz Albe


Re: Background worker process

From
Fabrízio de Royes Mello
Date:

Em ter, 19 de dez de 2017 às 10:11, Brandl, Wolfgang <wolfgang.brandl@brz.gv.at> escreveu:

Hello

We want to start processes controlled by a prostgres table which acts like crontab.

So we want to start a background worker process which starts the defined functions.

 

Is it possible to start from a background worker process a child process with a specific User. So this process can only acces the data for his authority.

 

Like a SQL Intrusion with this definition nobody can start a process a Postgres superuser.


Already exists a "crontab like" background worker project [1].

Regards,

--
   Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento