系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 数据库 > PostgreSQL > 详细页面

Windows 2008R2 定时备份PostgreSQL 11.6

时间:2019-11-30来源:系统城作者:电脑系统城

PostgreSQL 自动备份,并删除10天前的备份文件的windows脚本.

第一步,创建脚本,命名back.bat文件,可直接点击执行或者CMD执行此批处理命令。

@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0"
 
set PGPASSWORD=password
SET PGPATH=D:\postgresql\binSET SVPATH=d:\zoobackupSET PRJDB=gzzoo
SET DBUSR=postgres
FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN (‘DATE /T‘) DO SET d=%%i-%%j-%%k
 
SET DBDUMP=%PRJDB%_%d%.bak
@ECHO OFF
%PGPATH%pg_dump -h localhost -U postgres %PRJDB% > %SVPATH%%DBDUMP%

echo Backup Taken Complete %SVPATH%%DBDUMP%

forfiles /p %SVPATH% /d -5 /c "cmd /c echo deleting @file ... && del /f @path"

 

其中:PGPASSWORD密码,PGPATH 数据库路径,SVPATH备份文件存放位置,PRJDB数据库名称,DBUSR用户名

 

第二步设置定时任务 参考

https://blog.csdn.net/rosejeck/article/details/89026006

 

Linux 下使用crontab 定时任务。也可配置 pg_cron、pgAgent等定时任务插件。

 

第三步 恢复

cmd 然后进入postgresql的bin目录

执行

psql -h localhost -U username -d database < d:/data.bak

 

PG_DUMP和PG_RESTORE

    PostgreSql的备份和还原分别是通过pg_dump和pg_restore执行的。PostgreSql的备份有三种形式,分别是自定义、tar格式、无格式三种类型。自定义和tar格式在备份时形成的是.backup文件,而无格式在备份时形成的是文本文件。在还原时,格式只能是自定义或tar格式,也就是说pg_dump使用无格式方式备份的文件,是不能用gp_restore还原的;pg_restore只能还原backup文件。

 

  那么文本文件又是怎么还原呢?只能通过命令来执行。cmd进入执行框,用cd命令将路径改到数据库安装路径的bin文件夹下,输入以下命令:

psql -h localhost -U username -d mydb <  mydb.bak

  其中username是数据库的用户名,mydb是要还原的数据库名称,mydb.bak是自己备份的文本文件,在执行命令时要加入路径,比如:

psql -h localhost -U postgres-d postgis <  c:\User\Desktop\postgis

 

  数据的导出:

$ pg_dump -U postgres(用户名)  (-t 表名)  数据库名(缺省时同用户名)  > 路径/文件名.sql

 

postgres@debian:~$ pg_dump -U postgres -t system_calls wangye > ./test.sql

postgres@debian:~$ ls

9.1  test.sql

 数据的导入:

导入数据时首先创建数据库再用psql导入:

$ createdb newdatabase
$ psql -d newdatabase -U postgres -f mydatabase.sql   // sql 文件在当前路径下

$ psql -d databaename(数据库名) -U username(用户名) -f < 路径/文件名.sql  // sql 文件不在当前路径下
分享到:

相关信息

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载