Резервное копирование и восстановление базы данных PostgreSQL и настройка среды localhost с помощью laravel в Windows 7

1) откройте C: \ Program Files \ PostgreSQL \ 12 \ data \ pg_hba.conf

изменение: разместить все все :: 1/128 md5

to

разместить все все :: 1/128 траст

2) откройте pgAdmin и создайте сервер localhost с именем пользователя postgres, а пароль будет пустым

/ * Для создания резервной копии или восстановления дампа существующей базы данных имя * /

откройте строку cmd и перейдите в C: \ Program Files \ PostgreSQL \ 12 \ bin и нажмите ввод

и введите команду ниже по мере необходимости

Возьмите резервную копию: pg_dump.exe -U postgres -d dbname -f D: \ Backup \

 or direct take backup using pgAdmin backup option and store in D:\Backup\<backup-file-name>  

hint: backup file should be tar or dump type

Восстановить резервную копию: pg_restore -U postgres -d dbname -1 D: \ Backup \

3) В папке кода laravel откройте файл .env и добавьте DB_SSLMODE = disable

4) в папке кода laravel откройте config / database.php и для массива pgsql

 replace

     'sslmode'=> 'require', 

 to    
    'sslmode' => env('DB_SSLMODE','require'),

person Shesh Kumar Mishra    schedule 21.05.2020    source источник


Ответы (1)


Как сделать резервную копию БД PostgreSql в Laravel

  1. установить пакет laravel с помощью композитора.

    composer require spatie/laravel-backup

  2. вставьте следующую строку в свой резервный контроллер.

    use Spatie\DbDumper\Databases\PostgreSql;

  3. напишите следующий код в свой резервный контроллер.

    date_default_timezone_set('EST');
    
    try {
        $this->info('The backup has been started');
        $backup_name = 'backup-' . date('c')  . '.sql';
        $backup_path = 'app/backups/' . $backup_name;
        PostgreSql::create()
            ->setDbName(env('DB_DATABASE'))
            ->setUserName(env('DB_USERNAME'))
            ->setPassword(env('DB_PASSWORD'))
            ->dumpToFile($backup_path);
        $this->info('The backup has been proceed successfully.');
    } catch (ProcessFailedException $exception) {
        logger()->error('Backup exception', compact('exception'));
        $this->error('The backup process has been failed.');
    }
    
person royal2710    schedule 12.06.2020