Re: getting client_addr not as a superuser

From: Luis Antonio Dias de Sá Junior <luisjunior(dot)sa(at)gmail(dot)com>
To: "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: getting client_addr not as a superuser
Date: 2015-02-10 14:11:23
Message-ID: CA+BNcWaUADQ4L3+Yg-qPsPnkm=vdmZUEGtiRdtuXsZrby6Xopw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-performance

Hi,

Have you try to put replication permissions?

Ex. CREATE ROLE username LOGIN
PASSWORD 'bla'
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE REPLICATION;

2015-02-10 10:53 GMT-02:00 Jov <amutu(at)amutu(dot)com>:

> you can create a function with security differ option as superuser.
> 2015年2月10日 8:22 PM于 "Михаил" <bemewe(at)mail(dot)ru>写道:
>
> Hi all,
>> I have a PG 9.3 and a streaming replication and I need standby ip address
>> in the monitoring. To get that i can run
>>
>> select client_addr from pg_stat_replication
>>
>> but i have to connect as a superuser what's not desirable.
>>
>> As i see in that view, it uses two functions: pg_stat_get_activity
>> and pg_stat_get_wal_senders and one table pg_authid. As i don't need role
>> information, i've cutted the table from the query and got the following
>> query:
>>
>> SELECT s.pid, s.client_addr
>> FROM pg_stat_get_activity(NULL::integer) s(datid, pid, usesysid,
>> application_name, state, query, waiting, xact_start, query_start,
>> backend_start, state_change, client_addr, client_hostname, client_port)
>> ,pg_stat_get_wal_senders() w(pid, state, sent_location,
>> write_location, flush_location, replay_location, sync_priority, sync_state)
>> WHERE s.pid = w.pid;
>>
>> When i run it as a superuser, everything is ok, when i run it as an
>> ordinary user, the client_addr is NULL. As the
>> function pg_stat_get_wal_senders() returns the result, the problem is in
>> receiving the address from pg_stat_get_activity.
>>
>> Using/granting pg_stat_get_backend_client_addr() is not solving the
>> problem.
>>
>> Is there any way to get client_addr value running not as a superuser?
>>
>>
>> Regards, Mikhail
>>
>>

--
Luis Antonio Dias de Sá Junior

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Scott Ribe 2015-02-10 14:32:31 Re: [PERFORM] <empty string> Vs NULL
Previous Message Jov 2015-02-10 12:53:16 Re: getting client_addr not as a superuser

Browse pgsql-performance by date

  From Date Subject
Next Message Scott Ribe 2015-02-10 14:32:31 Re: [PERFORM] <empty string> Vs NULL
Previous Message Jov 2015-02-10 12:53:16 Re: getting client_addr not as a superuser