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

Поиск
Список
Период
Сортировка
От Joseph Brenner
Тема Re: How to do a "CREATE DATABASE" and then connect to it?
Дата
Msg-id 200606030807.k5387Y328702@mail0.rawbw.com
обсуждение исходный текст
Ответ на Re: How to do a "CREATE DATABASE" and then connect to it?  ("Joshua D. Drake" <jd@commandprompt.com>)
Ответы Re: How to do a "CREATE DATABASE" and then connect to it?  (Terry Lee Tucker <terry@esc1.com>)
Список pgsql-general
Joshua D. Drake <jd@commandprompt.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?



В списке pgsql-general по дате отправления:

Предыдущее
От: "Tomi NA"
Дата:
Сообщение: Re: Best open source tool for database design / ERDs?
Следующее
От: Terry Lee Tucker
Дата:
Сообщение: Re: How to do a "CREATE DATABASE" and then connect to it?