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

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

@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0" ##set PGPASSWORD=password
SET PGPATH=D:\postgresql\bin\
SET SVPATH=d:\testbackup\
SET PRJDB=test
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 -10 /c "cmd /c echo deleting @file ... && del /f @path"

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

pg_dump -h localhost -U postgres database_name> C:\database_bak.bak

-h:数据库服务器地址;
-p:数据库端口号;
-U:U 大写,表示用户名;
-d:数据库名称;
-f:把备份文件放在哪里

第二步设置定时任务 参考

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

或者

psql -h localhost -U postgres -d database_name  -f  "C:\database_bak.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 文件不在当前路径下

Windows 2008R2 定时备份PostgreSQL 11.6及还原操作的更多相关文章

  1. Windows数据库定时备份

    首先打开:任务计划程序 右键任务计划程序库,选择创建基本任务 然后即可以按照实际情况逐步进行 直到启动程序--浏览(程序或脚本)时,这里本人导入的是backup.bat文件,文件内容为 @echo 设 ...

  2. Windows系统定时备份MySQL数据库

    当一个网站投入使用时,定期备份数据库是必要的事.那么,在Windows系统上,我们该如何做呢? 如下语句可以实现备份及还原MySQL数据库: 备份MySQL数据库 mysqldump -uroot - ...

  3. 转:windows下定时执行备份数据库

    上一篇写了linux下定时任务,这一篇转发一个windows下定时备份数据库. 第一种:新建批处理文件 backup.dat,里面输入以下 net stop mysql xcopy "C:\ ...

  4. Windows 2008R2 安装PostgreSQL 11.6

    前些天在CentOS 7.5 下安装了PostgreSQL 11.6.除了在无外网环境下需要另外配置之外,其他没有什么差别.今天主要写一下在Windows下面安装PostgreSQL的问题. 在官网看 ...

  5. windows下mysql数据库定时备份。

    注意:看本教程先必须会windows自带的"任务计划程序". 首先创建一个bat后缀的文件我的是timerExecutePhp.bat文件 timerExecutePhp.bat ...

  6. Windows下为MySQL做定时备份

    第一种:新建批处理文件 backup.dat,里面输入以下代码:  代码如下 复制代码 net stop mysqlxcopy "C:/Program Files/MySQL/MySQL S ...

  7. windows 下mysql每日定时备份的几种方法

    第一种:新建批处理文件 backup.dat,里面输入以下代码:  代码如下 复制代码 net stop mysql xcopy "C:/Program Files/MySQL/MySQL ...

  8. [转]mysql自动定时备份数据库的最佳方法-支持windows系统

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...

  9. windows系统——mysql自动定时备份数据库的最佳方法

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...

随机推荐

  1. Rust 智能指针(二)

    1. Rc<T> 引用计数指针 Rc<T> 是引用计数指针,可以使用clone使得指针所指向的数据具有多个所有者. enum List { Cons(i32, Rc<Li ...

  2. delphi xe6 JSON 测试

    System.JSON   ISuperJSOn   mORMETJSON   QJSON  测试 我在测试时发现系统自带的JSON  占用内存大一但多了就会出现内存泄漏的问题 我用的Flst< ...

  3. (十)pdf的构成之交叉引用表

    交叉引用表(xref) 其中包含对文档中所有对象的引用.交叉引用表的目的是允许随机访问文件中的对象,因此我们不需要读取整个PDF文档来定位特定对象.每个对象由交叉​​引用表中的一个条目表示.(该表保存 ...

  4. mysql5.7新增加用户和授权

    迁移mysql数据库,运行项目的时候发现nginx和uWSGI都配置正确,可就是网站打不开,看了log文件,发现错误: django.db.utils.OperationalError: (1044, ...

  5. Java爬虫https网页内容报错SSLHandshakeException信任(忽略)所有SSL证书

    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building f ...

  6. httpd服务的配置及应用

    一.httpd服务的配置文件 httpd服务的主配置文件通常为httpd根目录下的conf/httpd.conf文件,通过yum安装的httpd服务的主配置路径通常如下: httpd-2.2:/etc ...

  7. C ProcessAsUser

    class Interop { public static void CreateProcess(string app, string path) { bool result; IntPtr hTok ...

  8. 2019 网宿科技java面试笔试题 (含面试题解析)

    本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.网宿科技等公司offer,岗位是Java后端开发,最终选择去了网宿科技. 面试了很多家公司,感觉大部分公司考察的点 ...

  9. 自学Python编程的第十一天----------来自苦逼的转行人

    2019-09-21-23:00:26 今天看了很多博客网的博客,看完觉得自己的博客真的是垃圾中的垃圾 新手不知道怎样写博客,我也很想写好一篇能让人看的博客,但是目前水平不够 只能慢慢改,今天的博客还 ...

  10. streamController