Thread: createdb confusion

createdb confusion

From
newsreader@mediaone.net
Date:
man creatdb says -D supposed to be specify the
alternative location

I try (as postgres user)

$ createdb -D /bla bla

and it says

    absolute path are not allowed.

Then I read man initlocation.  The example
I see is

$ initlocation /opt/postgres/data
$ createdb -D /opt/postgres/data/testdb testdb

so I do the same and it fails with the same reason

Does anyone have any idea?

thanks


Re: createdb confusion

From
newsreader@mediaone.net
Date:
I am using 7.1.2 on red hat 7.1

I compiled postgres myself

On Wed, Aug 08, 2001 at 08:16:35PM -0400, newsreader@mediaone.net wrote:
> man creatdb says -D supposed to be specify the
> alternative location
>
> I try (as postgres user)
>
> $ createdb -D /bla bla
>
> and it says
>
>     absolute path are not allowed.
>
> Then I read man initlocation.  The example
> I see is
>
> $ initlocation /opt/postgres/data
> $ createdb -D /opt/postgres/data/testdb testdb
>
> so I do the same and it fails with the same reason
>
> Does anyone have any idea?
>
> thanks
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://www.postgresql.org/search.mpl

Re: createdb confusion

From
Mike Mascari
Date:
newsreader@mediaone.net wrote:
>
...
> > I try (as postgres user)
> >
> > $ createdb -D /bla bla
> >
> > and it says
> >
> >       absolute path are not allowed.
> >
> > Then I read man initlocation.  The example
> > I see is
> >
> > $ initlocation /opt/postgres/data
> > $ createdb -D /opt/postgres/data/testdb testdb
> >
> > so I do the same and it fails with the same reason
> >
> > Does anyone have any idea?

How about:

export PGDATA2=/opt/postgres/data
initlocation PGDATA2
createdb -D PGDATA2 mydb

I haven't created databases in alternate locations, so I'm just
going by the manual. ;-)

Mike Mascari
mascarm@mascari.com

Re: createdb confusion

From
Mike Mascari
Date:
Well. I just did this by hand. I did this:

As postgres:

export PGDATA2=/opt/postgres
initlocation PGDATA2

As root, I stopped the postmaster (which was installed via RPMS):

/etc/rc.d/init.d/postgresql stop

In X-Term #1 as postgres:

export PGDATA2=/opt/postgres
postmaster -D /var/lib/pgsql/data

In X-Term #2 as postgres:

createdb mydb -D PGDATA2

And it worked. Apparently, you must define the environmental
variable used in the context of the postmaster session for it to
work.

Hope that helps,

Mike Mascari
mascarm@mascari.com

newsreader@mediaone.net wrote:
>
> Did that already.  No go.
>
> On Wed, Aug 08, 2001 at 08:48:52PM -0400, Mike Mascari wrote:
> > newsreader@mediaone.net wrote:
> > >
> >
> > export PGDATA2=/opt/postgres/data
> > initlocation PGDATA2
> > createdb -D PGDATA2 mydb
> >
> > I haven't created databases in alternate locations, so I'm just
> > going by the manual. ;-)

Re: createdb confusion

From
Tom Lane
Date:
Mike Mascari <mascarm@mascari.com> writes:
> How about:

> export PGDATA2=/opt/postgres/data
> initlocation PGDATA2
> createdb -D PGDATA2 mydb

Note also that the environment variable PGDATA2 must be defined in the
*postmaster*'s environment, not only your shell environment.  This is
a crude (and ugly) way of letting the DBA control which directories may
be used as alternate locations --- only what he's listed in the
postmaster's environment may be used.

            regards, tom lane