Thread: Specifying xlog directory during initdb is failing

Specifying xlog directory during initdb is failing

From
Devrim GÜNDÜZ
Date:
Hi,

I was testing -X option, and I cannot make it work. This is PostgreSQL
8.3.1 on Fedora 9:
==========================================================

-bash-3.2$ initdb -d -X xlog/ -D data/
Running in debug mode.
VERSION=8.3.1
PGDATA=data
share_path=/usr/share/pgsql
PGPATH=/usr/bin
POSTGRES_SUPERUSERNAME=postgres
POSTGRES_BKI=/usr/share/pgsql/postgres.bki
POSTGRES_DESCR=/usr/share/pgsql/postgres.description
POSTGRES_SHDESCR=/usr/share/pgsql/postgres.shdescription
POSTGRESQL_CONF_SAMPLE=/usr/share/pgsql/postgresql.conf.sample
PG_HBA_SAMPLE=/usr/share/pgsql/pg_hba.conf.sample
PG_IDENT_SAMPLE=/usr/share/pgsql/pg_ident.conf.sample
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale en_US.UTF-8.
The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to "english".

creating directory data ... ok
creating directory xlog/ ... ok
creating subdirectories ... initdb: could not create directory "data/pg_xlog": File exists
initdb: removing data directory "data"
initdb: removing transaction log directory "xlog"

==========================================================

Am I missing something here? If not, this is a bug I believe.

Regards,
--
Devrim GÜNDÜZ , RHCE
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: plPHP, ODBCng - http://www.commandprompt.com/

Re: Specifying xlog directory during initdb is failing

From
Tom Lane
Date:
Devrim GÜNDÜZ <devrim@CommandPrompt.com> writes:
> I was testing -X option, and I cannot make it work. This is PostgreSQL
> 8.3.1 on Fedora 9:

> -bash-3.2$ initdb -d -X xlog/ -D data/

The root of the problem is that you can't use a relative path for -X:
it's not clear whether the path is relative to $PGDATA or the working
directory when you invoked initdb, and different bits of initdb
effectively make each of those assumptions.  I agree that the failure
mode is pretty opaque :-(.  I think the simplest solution is to reject
non-absolute path for -X; is there any real use-case for allowing it?
        regards, tom lane


Re: Specifying xlog directory during initdb is failing

From
Andrew Sullivan
Date:
On Sun, Jun 01, 2008 at 10:27:25PM -0400, Tom Lane wrote:
> mode is pretty opaque :-(.  I think the simplest solution is to reject
> non-absolute path for -X; is there any real use-case for allowing it?

No.

A

--
Andrew Sullivan
ajs@commandprompt.com
+1 503 667 4564 x104
http://www.commandprompt.com/

Re: Specifying xlog directory during initdb is failing

From
Tom Lane
Date:
Devrim GÜNDÜZ <devrim@CommandPrompt.com> writes:
> On Sun, 2008-06-01 at 22:27 -0400, Tom Lane wrote:
>> I think the simplest solution is to reject non-absolute path for -X;
>> is there any real use-case for allowing it?

> I don't think so.

> Thanks for the patch -- could you please update docs (and man page) as
> well? There are no words regarding using absolute path there, AFAICS.

Don't you think the error message will be sufficient?
        regards, tom lane


Re: Specifying xlog directory during initdb is failing

From
Devrim GÜNDÜZ
Date:
Hi,

On Mon, 2008-06-02 at 01:16 -0400, Tom Lane wrote:
> > Thanks for the patch -- could you please update docs (and man page)
> as
> > well? There are no words regarding using absolute path there,
> AFAICS.
>
> Don't you think the error message will be sufficient?

I would not even try using non-absolute directory if it was specified in
the docs ;)

Regards,
--
Devrim GÜNDÜZ , RHCE
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: plPHP, ODBCng - http://www.commandprompt.com/

Re: Specifying xlog directory during initdb is failing

From
Devrim GÜNDÜZ
Date:
Hi,

On Sun, 2008-06-01 at 22:27 -0400, Tom Lane wrote:
> I think the simplest solution is to reject non-absolute path for -X;
> is there any real use-case for allowing it?

I don't think so.

Thanks for the patch -- could you please update docs (and man page) as
well? There are no words regarding using absolute path there, AFAICS.

Regards,
--
Devrim GÜNDÜZ , RHCE
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: plPHP, ODBCng - http://www.commandprompt.com/

Re: Specifying xlog directory during initdb is failing

From
Devrim GÜNDÜZ
Date:
Hi,

On Mon, 2008-06-02 at 08:21 +0300, Devrim GÜNDÜZ wrote:
> > Don't you think the error message will be sufficient?
>
> I would not even try using non-absolute directory if it was specified
> in the docs ;)

BTW: We do allow non-absolute directory names for $PGDATA, but don't
allow for xlogs -- it does not look consistent. That's why I'm asking
for a doc update.

Regards,
--
Devrim GÜNDÜZ , RHCE
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: plPHP, ODBCng - http://www.commandprompt.com/