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

From: Terry Lee Tucker <terry(at)esc1(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: How to do a "CREATE DATABASE" and then connect to it?
Date: 2006-06-03 08:36:59
Message-ID: 200606030436.59191.terry@esc1.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Saturday 03 June 2006 04:07 am, Joseph Brenner <doom(at)kzsu(dot)stanford(dot)edu>
thus communicated:
-->
--> 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?
-->

I don't see the point. There are two connects either way.
psql:
Connection 1: psql template1
Connection 2: \c new_test_db

Perl:
Connection 1: my $dbh_1 = DBI->connect("dbi:Pg:dbname=template1", blah, blah
Connection 2: DBI->connect("dbi:Pg:dbname=new_test_db", $owner, blah, blah

The only difference, at least from my point of view, is the method used and
the extra disconnect(). But even so, the extra disconnect() is not really
necessary.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Frank Finner 2006-06-03 08:54:47 Re: How to do a "CREATE DATABASE" and then connect to it?
Previous Message Joseph Brenner 2006-06-03 08:07:33 Re: How to do a "CREATE DATABASE" and then connect to it?