Обсуждение: postgres not deleting trigger file

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

postgres not deleting trigger file

От
jkilborn
Дата:
Im using postgres 9.4 with pgpool-II-94 and have streaming resplication setup
between two db servers. When I fail the primary db, pgpool creates the
/tmp/trigger_file, and the secondary server becomes the primary and is put
in read/write mode. However, the trigger file doesnt get deleted. I am not
sure where to debug why the trigger file doesnt get removed.

I have even tried using a recover_end_command to remove the trigger file,
but that doesnt seem to happen.

my failover script for pgpool creates the trigger file, then set it to chmod
777 so that postgres user can remove it. pgpool runs as root, while postgres
runs as postgres user.

Any ideas where to look on this issue of trigger file not being removed?





--
View this message in context: http://postgresql.nabble.com/postgres-not-deleting-trigger-file-tp5860795.html
Sent from the PostgreSQL - admin mailing list archive at Nabble.com.


Re: postgres not deleting trigger file

От
John Scalia
Дата:
Are either the pgpool or postgresql logs telling you anything about this? Usually, at least I think so, PostgreSQL is responsible for removing the trigger file. I'll tell you, though, I haven't tried this type of scenario since PostgreSQL 9.3.6.
--
Jay

On Tue, Aug 4, 2015 at 7:46 AM, jkilborn <jim.kilborn@swri.org> wrote:
Im using postgres 9.4 with pgpool-II-94 and have streaming resplication setup
between two db servers. When I fail the primary db, pgpool creates the
/tmp/trigger_file, and the secondary server becomes the primary and is put
in read/write mode. However, the trigger file doesnt get deleted. I am not
sure where to debug why the trigger file doesnt get removed.

I have even tried using a recover_end_command to remove the trigger file,
but that doesnt seem to happen.

my failover script for pgpool creates the trigger file, then set it to chmod
777 so that postgres user can remove it. pgpool runs as root, while postgres
runs as postgres user.

Any ideas where to look on this issue of trigger file not being removed?





--
View this message in context: http://postgresql.nabble.com/postgres-not-deleting-trigger-file-tp5860795.html
Sent from the PostgreSQL - admin mailing list archive at Nabble.com.


--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

Re: postgres not deleting trigger file

От
jkilborn
Дата:
Thanks for the reply.

I think the problem is permissions. The fact that the pgpool runs as root
user, its likely that postgres can’t remove the created trigger file.

I ended up doing two things in my pgp failover_stream.sh script, which
creates the file:
/bin/ssh -T $new_master /bin/touch $trigger_file
    /bin/ssh -T $new_master chown postgres $trigger_file

Seems with changing the ownership of the trigger file, postgres can now
delete the file. Not sure why I’m having to do this, as I haven’t seen
anyone else encounter this issue.

Anyway, with these changes, it appears to be working correctly.

Thanks for the response.

-Jim




--
View this message in context: http://postgresql.nabble.com/postgres-not-deleting-trigger-file-tp5860795p5860802.html
Sent from the PostgreSQL - admin mailing list archive at Nabble.com.


Re: postgres not deleting trigger file

От
John Scalia
Дата:
Well, in the past I've always had pgpool-II running as the postgres user, not root. That's probably why I didn't see any issues at the time. Good luck with this.

On Tue, Aug 4, 2015 at 8:28 AM, jkilborn <jim.kilborn@swri.org> wrote:
Thanks for the reply.

I think the problem is permissions. The fact that the pgpool runs as root
user, its likely that postgres can’t remove the created trigger file.

I ended up doing two things in my pgp failover_stream.sh script, which
creates the file:
/bin/ssh -T $new_master /bin/touch $trigger_file
        /bin/ssh -T $new_master chown postgres $trigger_file

Seems with changing the ownership of the trigger file, postgres can now
delete the file. Not sure why I’m having to do this, as I haven’t seen
anyone else encounter this issue.

Anyway, with these changes, it appears to be working correctly.

Thanks for the response.

-Jim




--
View this message in context: http://postgresql.nabble.com/postgres-not-deleting-trigger-file-tp5860795p5860802.html
Sent from the PostgreSQL - admin mailing list archive at Nabble.com.


--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

Re: postgres not deleting trigger file

От
Jerry Sievers
Дата:
jkilborn <jim.kilborn@swri.org> writes:

> Thanks for the reply.
>
> I think the problem is permissions. The fact that the pgpool runs as root
> user, its likely that postgres can’t remove the created trigger file.

Right /tmp usually has sticky bit set and thus though the directory is
world writeable,  one user can't remove a file owned by another as is
the case here.

And IMO having trigger file be in tmp isn't a great idea since anyone on
the box could create the file and have your standby server come out of recovery.

> I ended up doing two things in my pgp failover_stream.sh script, which
> creates the file:
> /bin/ssh -T $new_master /bin/touch $trigger_file
>     /bin/ssh -T $new_master chown postgres $trigger_file
>
> Seems with changing the ownership of the trigger file, postgres can now
> delete the file. Not sure why I’m having to do this, as I haven’t seen
> anyone else encounter this issue.
>
> Anyway, with these changes, it appears to be working correctly.
>
> Thanks for the response.
>
> -Jim
>
>
>
>
> --
> View this message in context: http://postgresql.nabble.com/postgres-not-deleting-trigger-file-tp5860795p5860802.html
> Sent from the PostgreSQL - admin mailing list archive at Nabble.com.

--
Jerry Sievers
Postgres DBA/Development Consulting
e: postgres.consulting@comcast.net
p: 312.241.7800