我该如何在Perl中创建一个Postgres数据库?

4
我如何使用Perl创建一个Postgres数据库?这在Perl Postgres DBI驱动程序DBD::Pg(或几乎任何其他地方)中都未被记录。我需要能够从我的程序中创建一个临时数据库,而不是必须使用psqlpgAdmin来创建数据库。
1个回答

5

技巧在于使用您安装Postgres时可能拥有的“postgres”数据库(如果您没有“postgres”数据库,那么您可能知道原因)。如果您以用户“postgres”连接到“postgres”数据库,则可以发出create database SQL命令,如下所示:

my $dbh = DBI->connect("dbi:Pg:dbname=postgres", "postgres");
$dbh->do('create database "Scratch-School"');

您可能还需要查看以编程方式创建PostgreSQL数据库,该问题在更高层次上涵盖了此问题。

3
你应该避免使用像"Scratch-School"这样的带引号的标识符。许多工具对此存在问题。最好使用 create database scratch_school,这样名称不区分大小写,而且不需要每次都写双引号。 - user330315
2
重点是,要创建数据库,您首先需要连接到另一个现有的数据库。它不一定是postgres,也不特定于Perl。即使对于psqlcreatedb本身也是如此。 - Daniel Vérité

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接