Re: How to do a "CREATE DATABASE" and then connect to it?

From: Joseph Brenner <doom(at)kzsu(dot)stanford(dot)edu>
To: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: How to do a "CREATE DATABASE" and then connect to it?
Date: 2006-06-03 08:07:33
Message-ID: 200606030807.k5387Y328702@mail0.rawbw.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


Joshua D. Drake <jd(at)commandprompt(dot)com> wrote:

> Joseph Brenner wrote:

> > After you do a "CREATE DATABASE", how do you programatically
> > connect to what you just created?
> >
> > In the psql monitor, you'd use the "\c" command.
> >
> > If the DATABASE already exists when you connect to postgresql,
> > you use the name when you connect (e.g. "dbname=...").
> >
> > I'm getting the impression I need to do this in multiple steps,
> > which is workable, but seems a little silly.

> Have you tried reading the documentation?

Yup. Are you sure you've understood my question?

It's not a terribly major point, I'm just wondering if it's true that
there's no postgres SQL analog of the psql "\c" command.

For example, this certainly works in perl:

use DBI;

my $dbh_1 = DBI->connect("dbi:Pg:dbname=template1", $owner, $db_password,
{ RaiseError => 1, AutoCommit => 1 });

$dbh_1->do("CREATE DATABASE new_test_db");

$dbh_1->disconnect();

my $dbh_2 = DBI->connect("dbi:Pg:dbname=new_test_db", $owner, $db_password,
{ RaiseError => 1, AutoCommit => 1 });


$dbh_2->do("CREATE TABLE whocares (meaningless INTEGER, blather TEXT)");

But the need for those two "DBI->connect"s seems inelegant to me.

Do you have any particular portion of the documentation in mind?

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Terry Lee Tucker 2006-06-03 08:36:59 Re: How to do a "CREATE DATABASE" and then connect to it?
Previous Message Tomi NA 2006-06-03 07:01:51 Re: Best open source tool for database design / ERDs?