[英]Backup & Restore PostgreSQL database and setup localhost environment with laravel in windows 7
1) 打开 C:\Program Files\PostgreSQL\12\data\pg_hba.conf
更改:托管所有所有::1/128 md5
至
托管所有所有::1/128 信任
2)打开 pgAdmin 并使用用户名 postgres 创建一个本地主机服务器,密码将为空
/* 用于备份或恢复现有数据库名称的转储 */
打开 cmd 行和 go 到 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 代码文件夹 open.env 文件中添加 DB_SSLMODE=disable
4) 在 laravel 代码文件夹中打开 config/database.php 和 'pgsql' 数组
replace
'sslmode'=> 'require',
to
'sslmode' => env('DB_SSLMODE','require'),
使用作曲家安装 laravel package。
composer require spatie/laravel-backup
将以下行插入备份 controller。
use Spatie\DbDumper\Databases\PostgreSql;
在备份 controller 中写入以下代码。
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.'); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.