+ $form->{db} =~ s/\"//g;
+ my %dbcreate = (
+ 'Pg' => qq|CREATE DATABASE "$form->{db}"|,
+ 'Oracle' =>
+ qq|CREATE USER "$form->{db}" DEFAULT TABLESPACE USERS | .
+ qq|TEMPORARY TABLESPACE TEMP IDENTIFIED BY "$form->{db}"|
+ );
+
+ my %dboptions = (
+ 'Pg' => [],
+ );
+
+ push(@{$dboptions{"Pg"}}, "ENCODING = " . $dbh->quote($form->{"encoding"}))
+ if ($form->{"encoding"});
+ if ($form->{"dbdefault"}) {
+ my $dbdefault = $form->{"dbdefault"};
+ $dbdefault =~ s/[^a-zA-Z0-9_\-]//g;
+ push(@{$dboptions{"Pg"}}, "TEMPLATE = $dbdefault");
+ }
+
+ my $query = $dbcreate{$form->{dbdriver}};
+ $query .= " WITH " . join(" ", @{$dboptions{"Pg"}}) if (@{$dboptions{"Pg"}});
+
+ # Ignore errors if the database exists.
+ $dbh->do($query);