Backup\Model\Database\Pgsql::export PHP Method

export() public method

Export function
public export ( string $what = 'structureanddata' ) : string
$what string Action
return string
    public function export($what = 'structureanddata')
    {
        if (empty($what)) {
            $what = 'structureanddata';
        }
        $exe = escapeshellcmd('/usr/bin/pg_dump');
        $parameters = $this->getAdapter()->getDriver()->getConnection()->getConnectionParameters();
        // Set environmental variables that pg_dump uses
        putenv('PGPASSWORD=' . $parameters['password']);
        putenv('PGUSER=' . $parameters['username']);
        putenv('PGDATABASE=' . $parameters['database']);
        if (!empty($parameters['hostname'])) {
            putenv('PGHOST=' . $parameters['hostname']);
        }
        if (!empty($parameters['port'])) {
            putenv('PGPORT=' . $parameters['port']);
        }
        //Prepare command
        $cmd = $exe;
        $cmd .= ' --compress 9 --no-owner --disable-triggers';
        switch ($what) {
            case 'dataonly':
                $cmd .= ' --data-only';
                $cmd .= ' --column-inserts';
                break;
            case 'structureonly':
                $cmd .= ' --schema-only';
                $cmd .= ' --clean';
                break;
            case 'structureanddata':
                $cmd .= ' --column-inserts';
                $cmd .= ' --clean';
                break;
        }
        // Execute command and return the output
        ob_start();
        passthru($cmd . ' 2>/dev/null');
        return ob_get_clean();
    }
Pgsql