Thread: Question about servicescript for stopping and starting postgresql instance

Question about servicescript for stopping and starting postgresql instance

From
Marian Forums
Date:
Hi,

I have a question about creating a service script to start/stop/status postgresql instance ( version 9.6.8) on Red Hat 7.

I have read the explanation of how to create such a service script on https://www.postgresql.org/docs/9.6/static/server-start.html .

Stopping and Starting works. 
However when I stop the service with:
systemctl stop postgresq.service and than ask for the status with systemctl status postgresql.service, the service gets started again.

Is this normal functionality on Red Hat 7? 
I have searched on the Internet ( including the Red Hat site) for a parameter to replace this behavior, but did not find anything.

Your help is much appreciated.
Thanks in advance.
Regards,
Marian

Re: Question about servicescript for stopping and starting postgresqlinstance

From
Adrian Klaver
Date:
On 10/30/18 5:09 AM, Marian Forums wrote:
> Hi,
> 
> I have a question about creating a service script to start/stop/status 
> postgresql instance ( version 9.6.8) on Red Hat 7.

How did you install Postgres on the machine?

> 
> I have read the explanation of how to create such a service script on 
> https://www.postgresql.org/docs/9.6/static/server-start.html .

Did you use the example at the above link or did you write your own?

If you wrote your own can you show it?


> 
> Stopping and Starting works.
> However when I stop the service with:
> systemctl stop postgresq.service and than ask for the status with 
> systemctl status postgresql.service, the service gets started again.
> 
> Is this normal functionality on Red Hat 7?
> I have searched on the Internet ( including the Red Hat site) for a 
> parameter to replace this behavior, but did not find anything.
> 
> Your help is much appreciated.
> Thanks in advance.
> Regards,
> Marian


-- 
Adrian Klaver
adrian.klaver@aklaver.com


Re: Question about servicescript for stopping and starting postgresql instance

From
Marian Forums
Date:
Hi Adrain,
Thanks for your reply.
My script looks like this:
# cat /usr/lib/systemd/system/postgresql-9.6.pg-tstxxx.service
[Unit]
Description=postgresql_pg-tstxxx
After=syslog.target
After=network.target

[Service]
Type=forking
User=postgresql
Group=postgresqlg
Environment=PGDATA=/data/pg-tstxxx/data-01/
# Run ExecStartPre with root-permissions
PermissionsStartOnly=true
ExecStartPre=/bin/chown postgresql:postgresqlgroup /var/run/postgresql
ExecStart=/usr/pgsql-9.6/bin/pg_ctl start -D ${PGDATA}
ExecStop=/usr/pgsql-9.6/bin/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=/usr/pgsql-9.6/bin/pg_ctl reload -D ${PGDATA} -s
Restart=on-failure
KillMode=control-group
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s

[Install]
WantedBy=multi-user.target

thanks in advance.
regards,
Marian

Op di 30 okt. 2018 om 14:30 schreef Adrian Klaver <adrian.klaver@aklaver.com>:
On 10/30/18 5:09 AM, Marian Forums wrote:
> Hi,
>
> I have a question about creating a service script to start/stop/status
> postgresql instance ( version 9.6.8) on Red Hat 7.

How did you install Postgres on the machine?

>
> I have read the explanation of how to create such a service script on
> https://www.postgresql.org/docs/9.6/static/server-start.html .

Did you use the example at the above link or did you write your own?

If you wrote your own can you show it?


>
> Stopping and Starting works.
> However when I stop the service with:
> systemctl stop postgresq.service and than ask for the status with
> systemctl status postgresql.service, the service gets started again.
>
> Is this normal functionality on Red Hat 7?
> I have searched on the Internet ( including the Red Hat site) for a
> parameter to replace this behavior, but did not find anything.
>
> Your help is much appreciated.
> Thanks in advance.
> Regards,
> Marian


--
Adrian Klaver
adrian.klaver@aklaver.com

Re: Question about servicescript for stopping and starting postgresqlinstance

From
Adrian Klaver
Date:
On 10/30/18 9:27 AM, Marian Forums wrote:
> Hi Adrain,
> Thanks for your reply.


How was Postgres installed on this machine?

Have you tried the script from the docs?


> My script looks like this:

I am no systemd expert, still the Type=forking does not seem right to me.

> # cat /usr/lib/systemd/system/postgresql-9.6.pg-tstxxx.service
> [Unit]
> Description=postgresql_pg-tstxxx
> After=syslog.target
> After=network.target
> 
> [Service]
> Type=forking
> User=postgresql
> Group=postgresqlg
> Environment=PGDATA=/data/pg-tstxxx/data-01/
> # Run ExecStartPre with root-permissions
> PermissionsStartOnly=true
> ExecStartPre=/bin/chown postgresql:postgresqlgroup /var/run/postgresql
> ExecStart=/usr/pgsql-9.6/bin/pg_ctl start -D ${PGDATA}
> ExecStop=/usr/pgsql-9.6/bin/pg_ctl stop -D ${PGDATA} -s -m fast
> ExecReload=/usr/pgsql-9.6/bin/pg_ctl reload -D ${PGDATA} -s
> Restart=on-failure
> KillMode=control-group
> ExecStop=/bin/kill -SIGTERM $MAINPID
> RestartSec=10s
> 
> [Install]
> WantedBy=multi-user.target
> 
> thanks in advance.
> regards,
> Marian
> 
> Op di 30 okt. 2018 om 14:30 schreef Adrian Klaver 
> <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>>:
> 
>     On 10/30/18 5:09 AM, Marian Forums wrote:
>      > Hi,
>      >
>      > I have a question about creating a service script to
>     start/stop/status
>      > postgresql instance ( version 9.6.8) on Red Hat 7.
> 
>     How did you install Postgres on the machine?
> 
>      >
>      > I have read the explanation of how to create such a service
>     script on
>      > https://www.postgresql.org/docs/9.6/static/server-start.html .
> 
>     Did you use the example at the above link or did you write your own?
> 
>     If you wrote your own can you show it?
> 
> 
>      >
>      > Stopping and Starting works.
>      > However when I stop the service with:
>      > systemctl stop postgresq.service and than ask for the status with
>      > systemctl status postgresql.service, the service gets started again.
>      >
>      > Is this normal functionality on Red Hat 7?
>      > I have searched on the Internet ( including the Red Hat site) for a
>      > parameter to replace this behavior, but did not find anything.
>      >
>      > Your help is much appreciated.
>      > Thanks in advance.
>      > Regards,
>      > Marian
> 
> 
>     -- 
>     Adrian Klaver
>     adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com


Re: Question about servicescript for stopping and starting postgresql instance

From
Marian Forums
Date:

Hi,
Postgres was installed through a repo with yum install.
I will try to run it with another type.
Regards
Marian

> Op 30 okt. 2018 om 21:56 heeft Adrian Klaver <adrian.klaver@aklaver.com> het volgende geschreven:
>
>> On 10/30/18 9:27 AM, Marian Forums wrote:
>> Hi Adrain,
>> Thanks for your reply.
>
>
> How was Postgres installed on this machine?
>
> Have you tried the script from the docs?
>
>
>> My script looks like this:
>
> I am no systemd expert, still the Type=forking does not seem right to me.
>
>> # cat /usr/lib/systemd/system/postgresql-9.6.pg-tstxxx.service
>> [Unit]
>> Description=postgresql_pg-tstxxx
>> After=syslog.target
>> After=network.target
>> [Service]
>> Type=forking
>> User=postgresql
>> Group=postgresqlg
>> Environment=PGDATA=/data/pg-tstxxx/data-01/
>> # Run ExecStartPre with root-permissions
>> PermissionsStartOnly=true
>> ExecStartPre=/bin/chown postgresql:postgresqlgroup /var/run/postgresql
>> ExecStart=/usr/pgsql-9.6/bin/pg_ctl start -D ${PGDATA}
>> ExecStop=/usr/pgsql-9.6/bin/pg_ctl stop -D ${PGDATA} -s -m fast
>> ExecReload=/usr/pgsql-9.6/bin/pg_ctl reload -D ${PGDATA} -s
>> Restart=on-failure
>> KillMode=control-group
>> ExecStop=/bin/kill -SIGTERM $MAINPID
>> RestartSec=10s
>> [Install]
>> WantedBy=multi-user.target
>> thanks in advance.
>> regards,
>> Marian
>> Op di 30 okt. 2018 om 14:30 schreef Adrian Klaver <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>>:
>>    On 10/30/18 5:09 AM, Marian Forums wrote:
>>     > Hi,
>>     >
>>     > I have a question about creating a service script to
>>    start/stop/status
>>     > postgresql instance ( version 9.6.8) on Red Hat 7.
>>    How did you install Postgres on the machine?
>>     >
>>     > I have read the explanation of how to create such a service
>>    script on
>>     > https://www.postgresql.org/docs/9.6/static/server-start.html .
>>    Did you use the example at the above link or did you write your own?
>>    If you wrote your own can you show it?
>>     >
>>     > Stopping and Starting works.
>>     > However when I stop the service with:
>>     > systemctl stop postgresq.service and than ask for the status with
>>     > systemctl status postgresql.service, the service gets started again.
>>     >
>>     > Is this normal functionality on Red Hat 7?
>>     > I have searched on the Internet ( including the Red Hat site) for a
>>     > parameter to replace this behavior, but did not find anything.
>>     >
>>     > Your help is much appreciated.
>>     > Thanks in advance.
>>     > Regards,
>>     > Marian
>>    --     Adrian Klaver
>>    adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>
>
>
> --
> Adrian Klaver
> adrian.klaver@aklaver.com


Re: Question about servicescript for stopping and starting postgresqlinstance

From
Adrian Klaver
Date:
On 10/30/18 2:09 PM, Marian Forums wrote:
> 
> 
> Hi,
> Postgres was installed through a repo with yum install.

So did you disable the start/stop scripts that the package installed?

> I will try to run it with another type.
> Regards
> Marian
> 
>> Op 30 okt. 2018 om 21:56 heeft Adrian Klaver <adrian.klaver@aklaver.com> het volgende geschreven:
>>
>>> On 10/30/18 9:27 AM, Marian Forums wrote:
>>> Hi Adrain,
>>> Thanks for your reply.
>>
>>
>> How was Postgres installed on this machine?
>>
>> Have you tried the script from the docs?
>>
>>
>>> My script looks like this:
>>
>> I am no systemd expert, still the Type=forking does not seem right to me.
>>
>>> # cat /usr/lib/systemd/system/postgresql-9.6.pg-tstxxx.service
>>> [Unit]
>>> Description=postgresql_pg-tstxxx
>>> After=syslog.target
>>> After=network.target
>>> [Service]
>>> Type=forking
>>> User=postgresql
>>> Group=postgresqlg
>>> Environment=PGDATA=/data/pg-tstxxx/data-01/
>>> # Run ExecStartPre with root-permissions
>>> PermissionsStartOnly=true
>>> ExecStartPre=/bin/chown postgresql:postgresqlgroup /var/run/postgresql
>>> ExecStart=/usr/pgsql-9.6/bin/pg_ctl start -D ${PGDATA}
>>> ExecStop=/usr/pgsql-9.6/bin/pg_ctl stop -D ${PGDATA} -s -m fast
>>> ExecReload=/usr/pgsql-9.6/bin/pg_ctl reload -D ${PGDATA} -s
>>> Restart=on-failure
>>> KillMode=control-group
>>> ExecStop=/bin/kill -SIGTERM $MAINPID
>>> RestartSec=10s
>>> [Install]
>>> WantedBy=multi-user.target
>>> thanks in advance.
>>> regards,
>>> Marian
>>> Op di 30 okt. 2018 om 14:30 schreef Adrian Klaver <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>>:
>>>     On 10/30/18 5:09 AM, Marian Forums wrote:
>>>      > Hi,
>>>      >
>>>      > I have a question about creating a service script to
>>>     start/stop/status
>>>      > postgresql instance ( version 9.6.8) on Red Hat 7.
>>>     How did you install Postgres on the machine?
>>>      >
>>>      > I have read the explanation of how to create such a service
>>>     script on
>>>      > https://www.postgresql.org/docs/9.6/static/server-start.html .
>>>     Did you use the example at the above link or did you write your own?
>>>     If you wrote your own can you show it?
>>>      >
>>>      > Stopping and Starting works.
>>>      > However when I stop the service with:
>>>      > systemctl stop postgresq.service and than ask for the status with
>>>      > systemctl status postgresql.service, the service gets started again.
>>>      >
>>>      > Is this normal functionality on Red Hat 7?
>>>      > I have searched on the Internet ( including the Red Hat site) for a
>>>      > parameter to replace this behavior, but did not find anything.
>>>      >
>>>      > Your help is much appreciated.
>>>      > Thanks in advance.
>>>      > Regards,
>>>      > Marian
>>>     --     Adrian Klaver
>>>     adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>
>>
>>
>> -- 
>> Adrian Klaver
>> adrian.klaver@aklaver.com


-- 
Adrian Klaver
adrian.klaver@aklaver.com