Re: Issue with clusters with '-' in the name

Lists: 스포츠 토토 결과 : 스포츠 토토
From: David Peall <david(at)dnservices(dot)co(dot)za>
To: "apt(dot)postgresql(dot)org repository" <myon(at)debian(dot)org>
Subject: Issue with clusters with '-' in the name
Date: 2016-04-19 18:27:39
Message-ID: E7F3EFD1-82A2-47BB-833D-EFA6BBD66969@dnservices.co.za
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-pkg-debian

Hi

pc_ctlcluseter doesn’t work with cluster names containing ‘-‘ the latest version of postgres from
deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main

Steps to reproduce the error:
pg_createcluster 9.5 test-dash
pg_ctlcluster 9.5 test-dash start - doesn’t work

This works fine:
pg_createcluster 9.5 withoutdash
pg_ctlcluster 9.5 withoutdash start

OS’s tested Ubuntu 15.10 and 16.04 beta both exhibit this issue.

Regards

David Peall


From: Christoph Berg <myon(at)debian(dot)org>
To: David Peall <david(at)dnservices(dot)co(dot)za>
Subject: Re: Issue with clusters with '-' in the name
Date: 2016-04-19 18:53:39
Message-ID: 20160419185339.GD12650@msg.df7cb.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: 스포츠 토토 결과 : 스포츠 토토

Re: David Peall 2016-04-19 <E7F3EFD1-82A2-47BB-833D-EFA6BBD66969(at)dnservices(dot)co(dot)za>
> Hi
>
> pc_ctlcluseter doesn’t work with cluster names containing ‘-‘ the latest version of postgres from
> deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
>
> Steps to reproduce the error:
> pg_createcluster 9.5 test-dash
> pg_ctlcluster 9.5 test-dash start - doesn’t work

Hi,

that's a known issue with the systemd integration:

$ head -4 /lib/systemd/system/postgresql\(at)(dot)service
# systemd service template for PostgreSQL clusters. The actual instances will
# be called "postgresql(at)version-cluster", e.g. "postgresql(at)9(dot)3-main". The
# variable %i expands to "version-cluster", %I expands to "version/cluster".
# (%I breaks for cluster names containing dashes.)

Since postgresql-common 171 (18 Dec 2015) you should get a warning when
creating clusters with dashes in the name.

Could you verify which postgresql-common version you have there?

Christoph


From: Christoph Berg <myon(at)debian(dot)org>
To: David Peall <david(at)dnservices(dot)co(dot)za>
Cc: PostgreSQL in Debian <pgsql-pkg-debian(at)postgresql(dot)org>
Subject: Re: Issue with clusters with '-' in the name
Date: 2016-04-19 20:06:54
Message-ID: 20160419200654.GG12650@msg.df7cb.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-pkg-debian

Re: David Peall 2016-04-19 <57359EF6-B59F-4300-85A8-EEB4CF73489A(at)dnservices(dot)co(dot)za>
> > $ head -4 /lib/systemd/system/postgresql\(at)(dot)service
> > # systemd service template for PostgreSQL clusters. The actual instances will
> > # be called "postgresql(at)version-cluster", e.g. "postgresql(at)9(dot)3-main". The
> > # variable %i expands to "version-cluster", %I expands to "version/cluster".
> > # (%I breaks for cluster names containing dashes.)
> >
> > Since postgresql-common 171 (18 Dec 2015) you should get a warning when
> > creating clusters with dashes in the name.
>
> I do get the following warning:
> Warning: cluster names containing dashes (-) will cause problems when running from systemd. Continuing anyway

Thanks.

As said in the comment in postgresql(at)(dot)service, there's unfortunately
not too much we can do about it. The problem is in this line:

ConditionPathExists=/etc/postgresql/%I/postgresql.conf

If you need clusters with dashes in the name, remove this line from
the .service file. (The downside is that you can then start services
called postgresql(at)what-ever and end up with "failed" bogus services.)

Christoph


From: David Peall <david(at)dnservices(dot)co(dot)za>
To: Christoph Berg <myon(at)debian(dot)org>
Cc: PostgreSQL in Debian <pgsql-pkg-debian(at)postgresql(dot)org>
Subject: Re: Issue with clusters with '-' in the name
Date: 2016-04-19 20:18:00
Message-ID: EA86466E-8639-4981-BA83-9516E6D0AE3D@dnservices.co.za
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-pkg-debian


> On 19 Apr 2016, at 4:06 PM, Christoph Berg <myon(at)debian(dot)org> wrote:
>
> Re: David Peall 2016-04-19 <57359EF6-B59F-4300-85A8-EEB4CF73489A(at)dnservices(dot)co(dot)za>
>>> $ head -4 /lib/systemd/system/postgresql\(at)(dot)service
>>> # systemd service template for PostgreSQL clusters. The actual instances will
>>> # be called "postgresql(at)version-cluster", e.g. "postgresql(at)9(dot)3-main". The
>>> # variable %i expands to "version-cluster", %I expands to "version/cluster".
>>> # (%I breaks for cluster names containing dashes.)
>>>
>>> Since postgresql-common 171 (18 Dec 2015) you should get a warning when
>>> creating clusters with dashes in the name.
>>
>> I do get the following warning:
>> Warning: cluster names containing dashes (-) will cause problems when running from systemd. Continuing anyway
>
> Thanks.
>
> As said in the comment in postgresql(at)(dot)service, there's unfortunately
> not too much we can do about it. The problem is in this line:
>
> ConditionPathExists=/etc/postgresql/%I/postgresql.conf
>
> If you need clusters with dashes in the name, remove this line from
> the .service file. (The downside is that you can then start services
> called postgresql(at)what-ever and end up with "failed" bogus services.)
>
> Christoph

Where is the expansion done into %i and %I ? I notice that the following works:
systemctl start postgresql(at)9(dot)5/main

Regards

David Peall


From: Christoph Berg <myon(at)debian(dot)org>
To: David Peall <david(at)dnservices(dot)co(dot)za>
Cc: PostgreSQL in Debian <pgsql-pkg-debian(at)postgresql(dot)org>
Subject: Re: Issue with clusters with '-' in the name
Date: 2016-04-19 20:25:20
Message-ID: 20160419202520.GH12650@msg.df7cb.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: 사설 토토 : 사설 토토 메일

Re: David Peall 2016-04-19 <EA86466E-8639-4981-BA83-9516E6D0AE3D(at)dnservices(dot)co(dot)za>
> Where is the expansion done into %i and %I ? I notice that the following works:
> systemctl start postgresql(at)9(dot)5/main

In that context, both are actually the same:
# systemctl status postgresql(at)9(dot)5/main| cat
● postgresql(at)9(dot)5-main(dot)service - PostgreSQL Cluster 9.5-main

In the config, %i expands to thing-with-all-slashes-converted-to-dashes
and %I expands to thing-with-all-dashes-converted-to-slashes (where
"thing" is the part after @). It's a bit weird..

Christoph