Re: Bad UI design: pg_ctl and data_directory

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Bad UI design: pg_ctl and data_directory
Date: 2011-06-01 21:10:01
Message-ID: 25253.1306962601@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Josh Berkus <josh(at)agliodbs(dot)com> writes:
> pg_ctl -D means different things depending on whether you are calling
> "start" or "stop". For "start", pg_ctl wants the directory
> postgresql.conf is in, and for "stop" it wants the directory
> postmaster.pid is in. This means that if your .conf files are not in
> the same directory as data_directory, you have to write special-case
> code for start and stop.

Well, the entire business of allowing the config files to be outside the
data directory is bad design/poor UI. It's not pg_ctl that's the main
problem here.

> Given that having the .conf files in /etc is the default configuration
> for both Red Hat and Debian, this seems like really poor UI design on
> our part.

I can't speak for Debian, but the above statement is 100% false for Red
Hat. In any case, no RH system has ever expected users to issue pg_ctl
start/stop directly, and I think the same is true for Debian, so the
bizarre design wouldn't matter to us even if the case did apply.

> It actually seems relatively easy to fix this without breaking
> backwards-compatibility.

No, it isn't. You're making way too many assumptions about where things
really were and what arguments were given to pg_ctl start. We went
around on this before, which is why it's not "fixed" already.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jaime Casanova 2011-06-01 21:27:48 Re: Bad UI design: pg_ctl and data_directory
Previous Message Tom Lane 2011-06-01 21:02:51 Re: [PERFORM] Hash Anti Join performance degradation