=cut
-$ENV{PATH}="@SQL_BINDIR@:$ENV{PATH}";
-
my $cat = shift or die "Usage: $0 catalogname";
my $dir_conf='@sbindir@/dbcheck -B -c @sysconfdir@/bacula-dir.conf';
my $wd = "@working_dir@";
-sub dump_sqlite
-{
- my %args = @_;
-
- exec("echo .dump | sqlite '$wd/$args{db_name}.db' > '$wd/$args{db_name}.sql'");
- print "Error while executing sqlite dump $!\n";
- return 1;
-}
-
sub dump_sqlite3
{
my %args = @_;
if ($args{db_port}) {
$ENV{PGPORT}=$args{db_port};
}
-
+ if ($args{db_user}) {
+ $ENV{PGUSER}=$args{db_user};
+ }
+ if ($args{db_password}) {
+ $ENV{PGPASSWORD}=$args{db_password};
+ }
$ENV{PGDATABASE}=$args{db_name};
- $ENV{PGUSER}=$args{db_user};
- $ENV{PGPASSWORD}=$args{db_password};
exec("HOME='$wd' pg_dump -c > '$wd/$args{db_name}.sql'");
print "Error while executing postgres dump $!\n";
return 1; # in case of error
sub dump_catalog
{
my %args = @_;
- if ($args{db_type} eq 'SQLite') {
- dump_sqlite(%args);
- } elsif ($args{db_type} eq 'SQLite3') {
+ if ($args{db_type} eq 'SQLite3') {
+ $ENV{PATH}="@SQLITE_BINDIR@:$ENV{PATH}";
dump_sqlite3(%args);
} elsif ($args{db_type} eq 'PostgreSQL') {
+ $ENV{PATH}="@POSTGRESQL_BINDIR@:$ENV{PATH}";
dump_pgsql(%args);
} elsif ($args{db_type} eq 'MySQL') {
+ $ENV{PATH}="@MYSQL_BINDIR@:$ENV{PATH}";
dump_mysql(%args);
} else {
die "This database type isn't supported";