[pgpool-general: 2682] Re: bash script can't see env variables when run by pgpool

Gintautas Sulskus gingaz at gmail.com
Tue Apr 1 15:31:18 JST 2014


To add, if I execute query "SELECT pgpool_recovery('pg_1st_recovery',
'failed_node_ip_address', '/data/postgres/main/')" directly, it works just
fine and returns:

pgpool_recovery = t

Gintas


On Sat, Mar 29, 2014 at 7:35 PM, Gintautas Sulskus <gingaz at gmail.com> wrote:

> Hi Yugo,
>
> thanks for clarifying! Set up is working.
>
>
> I guess that a environment variable defiend in /etc/enviromment is reffered
>> in pg_ni_up.sh but this doesn't work well, right?
>
>
>> How about to try 'echo $PATH > /tmp/test ' in pg_ni_up.sh?
>> Is the $PATH (or other value) defined in /etc/environment output to
>> /tmp/test or not?
>
>
>  Even $PATH was not displayed correctly. I presume it was issue with
> permissions, although it is not entirely clear to me what has caused this
> issue.
>
>
> I am still struggling with pgpool configuration though. Hopefully it is
> the last question. Could please anyone give any clues on this problem:
>
> I have tested my online recovery steps (1st and 2nd recovery) by manually
> running scripts. They work just fine. Everything gets logged properly.
>
> However, when I try to run pcp_recovery_node -d I get:
> DEBUG: send: tos="R", len=46
> DEBUG: recv: tos="r", len=21, data=AuthenticationOK
> DEBUG: send: tos="D", len=6
> DEBUG: recv: tos="e", len=20, data=recovery failed
> DEBUG: command failed. reason=recovery failed
> BackendError
> DEBUG: send: tos="X", len=4
>
> *pgpool log output:*
> (pgpool started in debug mode with debug_level=10)
> CHECKPOINT in the 1st stage done
> starting recovery command: "SELECT pgpool_recovery('pg_1st_recovery',
> 'failed_node_ip_address', '/data/postgres/main/')"
> exec_recovery: pg_1st_recovery command failed at 1st stage
>
> *pg_1st_recovery logs:*
> none
>
> *my pgpool configuration:*
> recovery_1st_stage_command=pg_1st_recovery
> (I expect $1 $2 $3 parameters from pgpool as in examples)
>
> Could you please give me any hints what could be wrong?
> Even a rough direction instead of "BackendError" would be extremely
> valuable.
>
> Thanks,
> Gintas
>
>
> On Wed, Mar 26, 2014 at 7:02 AM, Yugo Nagata <nagata at sraoss.co.jp> wrote:
>
>> Hi,
>>
>> On Fri, 21 Mar 2014 00:55:51 +0000
>> Gintautas Sulskus <gingaz at gmail.com> wrote:
>>
>> > Hello,
>> >
>> > more problems regarding watchdog:
>> > On one of the servers I see a log entry: "wd_create_hb_send_socket:
>> > setsockopt(SO_BINDTODEVICE) requies root privilege".
>> > Any clues what this may be related to? I assume it's permission problem.
>>
>> You can ignore this message because SO_BINDTODEVICE is not necessary.
>>
>> >
>> > Much appreciated!
>> >
>> > Gintautas
>> >
>> >
>> > On Fri, Mar 21, 2014 at 12:48 AM, Gintautas Sulskus <gingaz at gmail.com
>> >wrote:
>> >
>> > > Hello,
>> > >
>> > > ifconfig_path = '/home/ubuntu/apps/scripts'
>> > > PgpoolAdmin description of ifconfig_path is: The path of a command to
>> > > switch the IP address. I understand it as the path for if_up_cmd
>> > > and if_down_cmd commands.
>> > >
>> > > if_up_cmd = 'pg_ni_up.sh up eth0:1 10.0.1.244 255.255.255.0'
>> > > if_down_cmd = 'pg_ni_up.sh down eth0:1'
>>
>> I guess that a environment variable defiend in /etc/enviromment is
>> reffered
>> in pg_ni_up.sh but this doesn't work well, right?
>>
>> How about to try 'echo $PATH > /tmp/test ' in pg_ni_up.sh?
>> Is the $PATH (or other value) defined in /etc/enviroment output to
>> /tmp/test or not?
>>
>> > >
>> > >
>> > > PS. Is this mailing list the right place to discuss about PgpoolAdmin?
>> > > In the latest PgpoolAdmin version "if_*up*_cmd " is described as "The
>> > > command to bring *down* the virtual IP" and "if_*down*_cmd" as "The
>> > > command to bring *up* the virtual IP". Clearly descriptions are mixed
>> up.
>> > >
>> > > Gintautas
>> > >
>> > >
>> > > On Mon, Mar 10, 2014 at 2:46 AM, Yugo Nagata <nagata at sraoss.co.jp>
>> wrote:
>> > >
>> > >> Hi,
>> > >>
>> > >> On Sun, 9 Mar 2014 03:00:52 +0000
>> > >> Gintautas Sulskus <gingaz at gmail.com> wrote:
>> > >>
>> > >> > Hello,
>> > >> >
>> > >> > I am trying to set up pgpool watchdog. For virtual IP control my
>> plan
>> > >> is to
>> > >> > use bash scripts (if_up_cmd/if_down_cmd). In my script I use some
>> > >> > environment variables.
>> > >> >
>> > >> > A strange thing occurs here. No matter under what user I run
>> pgpool,
>> > >> script
>> > >> > can't pick up my custom environment variables from /etc/environment
>> > >> > (including customised PATH). It still sees standard binaries like
>> > >> ifconfig
>> > >> > though.
>> > >>
>> > >> How do you configure pgpool.conf about if_up_cmd, if_down_cmd,
>> > >> ifconfig_path?
>> > >> pgpool see ifconfig commands on the path specified by these options.
>> > >>
>> > >> >
>> > >> > Same script, when run manually by me, works under all users. Any
>> ideas
>> > >> what
>> > >> > can be wrong?
>> > >> >
>> > >> > The only solution I have come up is to redefine env variables in
>> the
>> > >> script.
>> > >> >
>> > >> > Thanks.
>> > >> >
>> > >> > Best Regards,
>> > >> > Gintas
>> > >>
>> > >>
>> > >> --
>> > >> Yugo Nagata <nagata at sraoss.co.jp>
>> > >>
>> > >
>> > >
>> > >
>> > > --
>> > > Best Regards,
>> > > Gintautas Sulskus
>> > >
>> >
>> >
>> >
>> > --
>> > Best Regards,
>> > Gintautas Sulskus
>>
>>
>> --
>> Yugo Nagata <nagata at sraoss.co.jp>
>>
>
>
>
> --
> Best Regards,
> Gintautas Sulskus
>



-- 
Best Regards,
Gintautas Sulskus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.sraoss.jp/pipermail/pgpool-general/attachments/20140401/c24ebd54/attachment.html>


More information about the pgpool-general mailing list