Thread: qestion
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
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.
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.
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 ?