Re: [GENERAL] Problem with initdb: creates database which do not exists

2010-10-19 Thread David Fetter
On Tue, Oct 19, 2010 at 08:48:13AM +0200, Torsten Zühlsdorff wrote:
> Thom Brown schrieb:
> 
> >initdb creates a database cluster, not a database.  [..]
> 
> Now i'm feeling like fool - this is so obviously. -.- I will stop
> posting stressed to the Usenet.

Yay, an NNTP user :)

We've all been there.

Cheers,
David.
-- 
David Fetter  http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter  XMPP: david.fet...@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Problem with initdb: creates database which do not exists

2010-10-18 Thread Torsten Zühlsdorff

Thom Brown schrieb:


initdb creates a database cluster, not a database.  [..]


Now i'm feeling like fool - this is so obviously. -.- I will stop 
posting stressed to the Usenet.


I'm sorry. Thanks for your replies and time!

Greetings,
Torsten

--
http://www.dddbl.de - ein Datenbank-Layer, der die Arbeit mit 8 
verschiedenen Datenbanksystemen abstrahiert,
Queries von Applikationen trennt und automatisch die Query-Ergebnisse 
auswerten kann.


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Problem with initdb: creates database which do not exists

2010-10-18 Thread Bill Moran
In response to Tom Lane :

> Adrian Klaver  writes:
> > On Monday 18 October 2010 7:46:21 am Torsten Z_hlsdorff wrote:
> >> So: any idea why the database is not visible? And how do get rid of the
> >> "non-existing" databases ;)
> 
> > My guess is that you have more than one installation of Postgres. The 
> > initdb is 
> > working on one cluster and your psql is pointing at another.
> 
> Yeah.  In particular, since I didn't see any server start or stop
> commands in this sequence, it looks like the psql calls are talking to
> some pre-existing server process that's using a pre-existing database
> directory somewhere else.

Unless you tweak settings in /etc/rc.conf, FreeBSD's install of Postgres
will start up talking to the DB in /usr/local/pgsql (if you start it
using FreeBSD's rc system)  The port provides the variable postgresql_data
which can be used to change the rc script's behavior.

-- 
Bill Moran
http://www.potentialtech.com
http://people.collaborativefusion.com/~wmoran/

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Problem with initdb: creates database which do not exists

2010-10-18 Thread Tom Lane
Adrian Klaver  writes:
> On Monday 18 October 2010 7:46:21 am Torsten Zühlsdorff wrote:
>> So: any idea why the database is not visible? And how do get rid of the
>> "non-existing" databases ;)

> My guess is that you have more than one installation of Postgres. The initdb 
> is 
> working on one cluster and your psql is pointing at another.

Yeah.  In particular, since I didn't see any server start or stop
commands in this sequence, it looks like the psql calls are talking to
some pre-existing server process that's using a pre-existing database
directory somewhere else.

regards, tom lane

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Problem with initdb: creates database which do not exists

2010-10-18 Thread Adrian Klaver
On Monday 18 October 2010 7:46:21 am Torsten Zühlsdorff wrote:
> Hello,
>
> i'm using initdb of an PostgreSQL 8.4 installed over the port-system of
> FreeBSD:
>
> =
>
>  > initdb foo --locale=de_DE.UTF-8 --lc-collate=de_DE.UTF-8
>
> --lc-ctype=de_DE.UTF-8 --lc-messages=de_DE.UTF-8
> --lc-monetary=de_DE.UTF-8 --lc-numeric=de_DE.UTF-8 --lc-time=de_DE.UTF-8
> The files belonging to this database system will be owned by user "thorny".
> This user must also own the server process.
>
> The database cluster will be initialized with locale de_DE.UTF-8.
> The default database encoding has accordingly been set to UTF8.
> The default text search configuration will be set to "german".
>
> creating directory foo ... ok
> creating subdirectories ... ok
> selecting default max_connections ... 100
> selecting default shared_buffers ... 32MB
> creating configuration files ... ok
> creating template1 database in foo/base/1 ... ok
> initializing pg_authid ... ok
> initializing dependencies ... ok
> creating system views ... ok
> loading system objects' descriptions ... ok
> creating conversions ... ok
> creating dictionaries ... ok
> setting privileges on built-in objects ... ok
> creating information schema ... ok
> vacuuming database template1 ... ok
> copying template1 to template0 ... ok
> copying template1 to postgres ... ok
>
> WARNING: enabling "trust" authentication for local connections
> You can change this by editing pg_hba.conf or using the -A option the
> next time you run initdb.
>
> Success. You can now start the database server using:
>
>  postgres -D foo
> or
>  pg_ctl -D foo -l logfile start
>
> =
>
> After that the database is not visible:
>
> =
>
>  > psql -l
>
> List of databases
>  Name| Owner  | Encoding | Collation | Ctype | Access privileges
> ++--+---+---+---
>   pgsql  | pgsql  | UTF8 | C | C |
>   postgres   | pgsql  | UTF8 | C | C |
>   template0  | pgsql  | UTF8 | C | C | =c/pgsql
>
>  : pgsql=CTc/pgsql
>
>   template1  | pgsql  | UTF8 | C | C | =c/pgsql
>
>  : pgsql=CTc/pgsql
>
> (4 rows)
>
> =
>
> So i try again to create it:
>
> =
>
>  > initdb foo --locale=de_DE.UTF-8 --lc-collate=de_DE.UTF-8
>
> --lc-ctype=de_DE.UTF-8 --lc-messages=de_DE.UTF-8
> --lc-monetary=de_DE.UTF-8 --lc-numeric=de_DE.UTF-8 --lc-time=de_DE.UTF-8
> The files belonging to this database system will be owned by user "thorny".
> This user must also own the server process.
>
> The database cluster will be initialized with locale de_DE.UTF-8.
> The default database encoding has accordingly been set to UTF8.
> The default text search configuration will be set to "german".
>
> initdb: directory "foo" exists but is not empty
> If you want to create a new database system, either remove or empty
> the directory "foo" or run initdb
> with an argument other than "foo".
>
> =
>
> Thats interessting. But i can't drop the database:
>
> =
>
>  > dropdb foo
>
> dropdb: database removal failed: ERROR:  database "foo" does not exist
>
> =
>
> So: any idea why the database is not visible? And how do get rid of the
> "non-existing" databases ;)
>
> Thanks for your time,
> Torsten
> --
> http://www.dddbl.de - ein Datenbank-Layer, der die Arbeit mit 8
> verschiedenen Datenbanksystemen abstrahiert,
> Queries von Applikationen trennt und automatisch die Query-Ergebnisse
> auswerten kann.

My guess is that you have more than one installation of Postgres. The initdb is 
working on one cluster and your psql is pointing at another. You might want to 
do a ps to see what is running.

-- 
Adrian Klaver
adrian.kla...@gmail.com

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Problem with initdb: creates database which do not exists

2010-10-18 Thread Thom Brown
On 18 October 2010 15:46, Torsten Zühlsdorff  wrote:
> Hello,
>
> i'm using initdb of an PostgreSQL 8.4 installed over the port-system of
> FreeBSD:
>
> =
>
>> initdb foo --locale=de_DE.UTF-8 --lc-collate=de_DE.UTF-8
>> --lc-ctype=de_DE.UTF-8 --lc-messages=de_DE.UTF-8 --lc-monetary=de_DE.UTF-8
>> --lc-numeric=de_DE.UTF-8 --lc-time=de_DE.UTF-8
> The files belonging to this database system will be owned by user "thorny".
> This user must also own the server process.
>
> The database cluster will be initialized with locale de_DE.UTF-8.
> The default database encoding has accordingly been set to UTF8.
> The default text search configuration will be set to "german".
>
> creating directory foo ... ok
> creating subdirectories ... ok
> selecting default max_connections ... 100
> selecting default shared_buffers ... 32MB
> creating configuration files ... ok
> creating template1 database in foo/base/1 ... ok
> initializing pg_authid ... ok
> initializing dependencies ... ok
> creating system views ... ok
> loading system objects' descriptions ... ok
> creating conversions ... ok
> creating dictionaries ... ok
> setting privileges on built-in objects ... ok
> creating information schema ... ok
> vacuuming database template1 ... ok
> copying template1 to template0 ... ok
> copying template1 to postgres ... ok
>
> WARNING: enabling "trust" authentication for local connections
> You can change this by editing pg_hba.conf or using the -A option the
> next time you run initdb.
>
> Success. You can now start the database server using:
>
>    postgres -D foo
> or
>    pg_ctl -D foo -l logfile start
>
> =
>
> After that the database is not visible:
>
> =
>
>> psql -l
>                           List of databases
>    Name    | Owner  | Encoding | Collation | Ctype | Access privileges
> ++--+---+---+---
>  pgsql      | pgsql  | UTF8     | C         | C     |
>  postgres   | pgsql  | UTF8     | C         | C     |
>  template0  | pgsql  | UTF8     | C         | C     | =c/pgsql
>                                                    : pgsql=CTc/pgsql
>  template1  | pgsql  | UTF8     | C         | C     | =c/pgsql
>                                                    : pgsql=CTc/pgsql
> (4 rows)
>
> =
>
> So i try again to create it:
>
> =
>
>> initdb foo --locale=de_DE.UTF-8 --lc-collate=de_DE.UTF-8
>> --lc-ctype=de_DE.UTF-8 --lc-messages=de_DE.UTF-8 --lc-monetary=de_DE.UTF-8
>> --lc-numeric=de_DE.UTF-8 --lc-time=de_DE.UTF-8
> The files belonging to this database system will be owned by user "thorny".
> This user must also own the server process.
>
> The database cluster will be initialized with locale de_DE.UTF-8.
> The default database encoding has accordingly been set to UTF8.
> The default text search configuration will be set to "german".
>
> initdb: directory "foo" exists but is not empty
> If you want to create a new database system, either remove or empty
> the directory "foo" or run initdb
> with an argument other than "foo".
>
> =
>
> Thats interessting. But i can't drop the database:
>
> =
>
>> dropdb foo
> dropdb: database removal failed: ERROR:  database "foo" does not exist
>
> =
>
> So: any idea why the database is not visible? And how do get rid of the
> "non-existing" databases ;)

Hi Torsten.

initdb creates a database cluster, not a database.  What is being
listed is correct.  You either want the createdb command or create it
manually from within psql.  The parameter you're passing is the
directory where the cluster is to be created, so it will appear in the
foo directory relative to wherever you're running that command from.

What you probably want is:

initdb --locale=de_DE.UTF-8 --lc-collate=de_DE.UTF-8
--lc-ctype=de_DE.UTF-8 --lc-messages=de_DE.UTF-8
--lc-monetary=de_DE.UTF-8 --lc-numeric=de_DE.UTF-8
--lc-time=de_DE.UTF-8

createdb -h localhost -p 5432 foo

Regards

Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general