技术分享
pgAdmin备份和还原数据库
2020-02-05
上一篇博客说到安装PostgreSql数据库,安装完之后需要pgAdmin来连接数据库。其实pgAdmin是不需要单独安装的,在数据库的安装路径下的bin文件夹中有一个pgAdmin3.exe文件,双击打开后就可以使用了。之前安装数据库的时候不知道,后来才发现的,期间还单独装了一个pgAdmin。接下来就说一下,利用pgAdmin是怎么备份和还原数据库的,利用pgAdmin还是比较简便的。
备份
选中要备份的数据库,右击数据库,选择备份。点击备份出现以下对话框,点击文件名后面有三个点的按钮,选择要备份的路径,并输入备份文件的名称。
出现下面这张图片所示的情况,点击完成就备份成功了,从图片上可以看出,数据库备份是通过pg_dump来执行的。
还原
还原时,如果数据库中没有要还原的数据库,应该先创建一个名字和备份文件相同的。如果要还原到其他数据库中也可以,这样就把原来数据库给覆盖了。我这里是新建了一个名字为postgis的数据库,然后对新建的库进行还原。
下面先简单创建一个数据库,仅需要输入数据库名称,选择用户就可以了。
右击数据库名称,选择恢复,出现下面的对话框。然后选择备份好的backup文件,进行还原。
这样就恢复完成了。如果要设置是否恢复设置,在恢复选项中进行设置。从上面的图片中可以看出,数据库的还原时是pg_restore执行的。
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
命令执行完成之后,数据库就还原完成了。
- 标签:
-
网络安全