Обсуждение: A question about differences between createdb and "create database"

Поиск
Список
Период
Сортировка

A question about differences between createdb and "create database"

От
Paul Vogel
Дата:
I have a pg_dump of a database (without autocreation lines)  that I
tried loading by using the commands:
     createdb -T template0 -U postgres database; psql -U postgres
database < filename

 I couldn't get it to connect via ODBC.  But when I added the following
lines in the source file:

    CREATE DATABASE "database" WITH TEMPLATE = template0 ENCODING =
'SQL_ASCII';
    ALTER DATABASE "database" OWNER TO postgres;
    \connect "database"

And loaded it with the command "psql -U postgres template1 < fileanme"
the resultant database worked fine with ODBC.  So something is
apparently different between the command line "createdb" command and the
"create database" command.  Has anybody else run into this?  And if so,
are there any other problems I should be aware of?  Or did I miss an
option of the "createdb" line?

Thanks,
Paul
    PS - I'm currently running PostgreSQL 8.1.2 under Linux Fedora Core 2


Re: A question about differences between createdb and "create database"

От
Tom Lane
Дата:
Paul Vogel <paul.vogel@deadeyesoftware.com> writes:
> So something is
> apparently different between the command line "createdb" command and the
> "create database" command.

Not a lot ... createdb just runs psql to issue a create database
command.  One possibility is that you gave createdb a mixed-case
database name, because it will double-quote the name before passing
it on to create database.

            regards, tom lane