繁体   English   中英

备份和恢复 PostgreSQL 数据库并使用 windows 7 中的 laravel 设置 localhost 环境

[英]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 中备份 PostgreSql DB

  1. 使用作曲家安装 laravel package。

    composer require spatie/laravel-backup

  2. 将以下行插入备份 controller。

    use Spatie\DbDumper\Databases\PostgreSql;

  3. 在备份 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM