1)打开C:\\Program Files\PostgreSQL\12\data\pg_hba.conf。
变更:主机所有所有::1128 md5
到
宿主所有::1128信任
2)打开pgAdmin &创建一个localhost服务器,用户名为postgres,密码为空。
* 用于备份或恢复现有数据库名称的转储*。
打开cmd line,进入C:\\Program Files\PostgreSQL\12\bin并按回车键。
并按要求输入以下命令
备份:pg_dump.exe -U postgres -d 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 d dbname -1 D:\Backup/D。
3) 在laravel代码文件夹中打开.env文件,并添加DB_SSLMODE=disable。
4) 在laravel代码文件夹中打开configdatabase.php,并为'pgsql'数组。
replace
'sslmode'=> 'require',
to
'sslmode' => env('DB_SSLMODE','require'),
使用composer安装laravel包。
composer require spatie/laravel-backup
在你的备份控制器中插入以下一行.
use Spatie\DbDumper\Databases\PostgreSql;
在你的备份控制器中写下以下代码.
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.');
}