1( open C:\Program Files\PostgreSQL\12\data\pg_hba.conf
改变: 主机全部 ::1/128 MD5
自
托管所有 ::1/128 信任
2(打开pgAdmin并创建一个本地主机服务器,用户名为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=禁用
4(在Laravel代码文件夹中打开配置/数据库.php并为"pgsql"数组
replace
'sslmode'=> 'require',
to
'sslmode' => env('DB_SSLMODE','require'),
如何在Laravel中备份PostgreSql DB
-
使用作曲家安装 Laravel 软件包。
composer require spatie/laravel-backup
-
将以下行插入备份控制器。
use SpatieDbDumperDatabasesPostgreSql;
-
在备份控制器中编写以下代码。
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.'); }