Обсуждение: qestion

Поиск
Список
Период
Сортировка

qestion

От
ivan
Дата:
hi,

i connect to my postgres only by socket tcp/ip , and i have to know what
client is connected to postgres in plpgsql function. I have many useres
in pg_hba.conf which can connect to server from all local network.
Then i need know from which client is connection. Is same way to check it
? or rewrite postmaster ?

... oh , is possible to change pg_hba.conf in plpgsql function, ie, when i
create new user (throught plpgsql func.) i need to add ip address, which
will be used by this new user.

can someone help me ???

thx




Re: qestion

От
Stephan Szabo
Дата:
On Wed, 14 May 2003, ivan wrote:

> i connect to my postgres only by socket tcp/ip , and i have to know what
> client is connected to postgres in plpgsql function. I have many useres
> in pg_hba.conf which can connect to server from all local network.
> Then i need know from which client is connection. Is same way to check it
> ? or rewrite postmaster ?

Do you need the ip address or only what user is connected? The latter can
be got at with CURRENT_USER or USER.

> ... oh , is possible to change pg_hba.conf in plpgsql function, ie, when i
> create new user (throught plpgsql func.) i need to add ip address, which
> will be used by this new user.

Probably not.  You'd probably have to write a function in something else
and call it from the plpgsql function.  However, there's still an issue of
how to handle rollbacks since you can't easily roll back the changes.  It
might be better to have something that's connected and LISTENing and then
do a NOTIFY when you add users and have the outside thing figure out what
entries belong in pg_hba.conf.


Re: qestion

От
Stephan Szabo
Дата:
On Thu, 15 May 2003, ivan wrote:

> On Thu, 15 May 2003, Stephan Szabo wrote:
>
> >
> > On Wed, 14 May 2003, ivan wrote:
> >
> > > i connect to my postgres only by socket tcp/ip , and i have to know what
> > > client is connected to postgres in plpgsql function. I have many useres
> > > in pg_hba.conf which can connect to server from all local network.
> > > Then i need know from which client is connection. Is same way to check it
> > > ? or rewrite postmaster ?
> >
> > Do you need the ip address or only what user is connected? The latter can
> > be got at with CURRENT_USER or USER.
>
>     Yes i know about CURRENTUSER , but i need ip address to intentify
> clients.

I don't think there's a builtin function that will give that to you, but
you may be able to write a C function that'll do that but I'm not sure
what'd be involved.

> > > ... oh , is possible to change pg_hba.conf in plpgsql function, ie, when i
> > > create new user (throught plpgsql func.) i need to add ip address, which
> > > will be used by this new user.
> >
> > Probably not.  You'd probably have to write a function in something else
> > and call it from the plpgsql function.  However, there's still an issue of
> > how to handle rollbacks since you can't easily roll back the changes.  It
> > might be better to have something that's connected and LISTENing and then
> > do a NOTIFY when you add users and have the outside thing figure out what
> > entries belong in pg_hba.conf.
> >
>
> but can i change pg_hba.conf with result , without restarting ?

You might need to HUP the postmaster, but you shouldn't need to shutdown
and restart.



Re: qestion

От
ivan
Дата:

On Thu, 15 May 2003, Stephan Szabo wrote:

>
> On Wed, 14 May 2003, ivan wrote:
>
> > i connect to my postgres only by socket tcp/ip , and i have to know what
> > client is connected to postgres in plpgsql function. I have many useres
> > in pg_hba.conf which can connect to server from all local network.
> > Then i need know from which client is connection. Is same way to check it
> > ? or rewrite postmaster ?
>
> Do you need the ip address or only what user is connected? The latter can
> be got at with CURRENT_USER or USER.

    Yes i know about CURRENTUSER , but i need ip address to intentify
clients.
>
> > ... oh , is possible to change pg_hba.conf in plpgsql function, ie, when i
> > create new user (throught plpgsql func.) i need to add ip address, which
> > will be used by this new user.
>
> Probably not.  You'd probably have to write a function in something else
> and call it from the plpgsql function.  However, there's still an issue of
> how to handle rollbacks since you can't easily roll back the changes.  It
> might be better to have something that's connected and LISTENing and then
> do a NOTIFY when you add users and have the outside thing figure out what
> entries belong in pg_hba.conf.
>

but can i change pg_hba.conf with result , without restarting ?