技术分享
pgAdmin4的备份和还原数据
2020-08-31
备份
选中要备份的数据库,右击数据库,选择备份。点击备份出现以下对话框,点击文件名后面有三个点的按钮,选择要备份的路径,并输入备份文件的名称。
出现下面这张图片所示的情况,点击完成就备份成功了,从图片上可以看出,数据库备份是通过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
命令执行完成之后,数据库就还原完成了。
<2>postgresql命令操作备份和还原
一、命令操作:
数据的导出:
$ 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 文件不在当前路径下
$ su postgresql #切换到psql用户下
$ psql -d wangye -U postgres -f system_calls.sql # sql 文件在当前路径下
INSERT 0 1
INSERT 0 1
INSERT 0 1
......
二、pgAdmin操作:
数据的导出:
在库名上右击-->backup-->ok,即将数据保存到.backup文件中。
数据的导入:
在库名上右击-->restore-->注意填写.backup文件的路径不能有空格-->ok

- 标签:
-
其他