postgresql数据库备份,postgresql如何备份数据库
大家好,今天给各位分享postgresql数据库备份的一些知识,其中也会对postgresql如何备份数据库进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
postgresql 怎么备份数据库
PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰常有限。所以一直寻找完美的备份恢复方案。
梦里寻他千百度,伊人却在灯火阑珊处...其实PostgreSQL内置不少的工具,寻找的备份恢复方案就在其中:pg_dump,psql。这两个指令在数据库的安装目录下,比如我自己本地安装的,路径形如:C:\Program Files\PostgreSQL\9.5\;然后进入到bin文件夹,会看到不少的exe文件,这就是PostgreSQL内置的工具了。里面会找到 pg_dump.exe,psql.exe两个文件。我们怎么用他们?
用法:
备份数据库,指令如下:
pg_dump-h 164.82.233.54-U postgres databasename> C:\databasename.bak
开始-运行-cmd弹出dos控制台;然后在控制台里,进入PostgreSQL安装目录bin下:
cd C:\Program Files\PostgreSQL\9.0\bin
最后执行备份指令:
pg_dump-h 164.82.233.54-U postgres databasename> C:\databasename.bak
指令解释:如上命令,pg_dump是备份数据库指令,164.82.233.54是数据库的ip地址(必须保证数据库允许外部访问的权限哦~),当然本地的数据库ip写 localhost;postgres是数据库的用户名;databasename是数据库名。>意思是导出到C:\databasename.bak文件里,如果没有写路径,单单写databasename.bak文件名,那么备份文件会保存在C:\Program Files\PostgreSQL\9.0\bin文件夹里。
恢复数据库,指令如下:
psql-h localhost-U postgres-d databasename< C:\databasename.bak(测试没有成功)
pg_restore.exe--host localhost--port 5432--username"postgres"--dbname"symbolmcnew"--no-password--verbose"databasename.backup"(测试成功)
指令解释:如上命令,psql是恢复数据库命令,localhost是要恢复到哪个数据库的地址,当然你可以写上ip地址,也就是说能远程恢复(必须保证数据库允许外部访问的权限哦~);postgres就是要恢复到哪个数据库的用户;databasename是要恢复到哪个数据库。<的意思是把C:\databasename.bak文件导入到指定的数据库里。
以上所有的是针对windows而言的,如果在linux下,会不会有效?
在linux里依然有效。有一个值得注意的是:如果直接进入PostgreSQL的安装目录bin下,执行命令,可能会出现找不到pg_dump,psql的现象,我们在可以这样:
备份:
/opt/PostgreSQL/9.5/bin/pg_dump-h 164.82.233.54-U postgres databasename> databasename.bak
恢复:
/opt/PostgreSQL/9.5/bin/psql-h localhost-U postgres-d databasename< databasename.bak
postgresql如何备份数据库
postgresql中可以使用pg_dump来备份数据库。pg_dump是用于备份PostgreSQL数据库的工具。它可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。
用法:
pg_dump [选项]... [数据库名字]
一般选项:
-f,--file=FILENAME output file or directory name
-F,--format=c|d|t|p output file format(custom, directory, tar, plain text)
-v,--verbose详细模式
-Z,--compress=0-9被压缩格式的压缩级别
--lock-wait-timeout=TIMEOUT在等待表锁超时后操作失败
--help显示此帮助信息,然后退出
--versoin输出版本信息,然后退出
示例:
备份数据库,指令如下:
pg_dump-h 164.82.233.54-U postgres databasename> C:databasename.bak
开始-运行-cmd弹出dos控制台;然后在控制台里,进入PostgreSQL安装目录bin下:
cd C:Program FilesPostgreSQL9.0bin
最后执行备份指令:
pg_dump-h 164.82.233.54-U postgres databasename> C:databasename.bak
指令解释:
pg_dump是备份数据库指令,164.82.233.54是数据库的ip地址(必须保证数据库允许外部访问的权限哦~),当然本地的数据库ip写 localhost;
postgres是数据库的用户名;databasename是数据库名。
>意思是导出到C:databasename.bak文件里,如果没有写路径,单单写databasename.bak文件名,那么备份文件会保存在C: Program FilesPostgreSQL9.0bin文件夹里。
推荐学习《Python教程》。
怎么备份数据库文件(如何导入数据库备份文件)
应该是PostgreSQL数据库的备份文件。
数据库的导入导出是最常用的功能之一,每种数据库都提供有这方面的工具,PostgreSQL提供的对应工具为pg_mp和pg_restore。
pg_mp是用于备份PostgreSQL数据库的工具。它可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。转储格式可以是一个脚本或者归档文件。
归档文件格式必须和pg_restore一起使用重建数据库。
X:>pg_mp-Upostgres-FcTestDb1>TestDb1.mp
X:>pg_restore-Upostgres-dTestDb2TestDb1.mp
在不能操作服务器的情况下如何备份pg数据库
如果不能操作服务器,但是能够远程连接到数据库进行增删改查,备份数据库的方法有以下几种:
使用pg_dump命令远程备份:在远程连接到数据库后,可以使用pg_dump命令备份数据库,将备份文件传输到本地或其他服务器。命令示例:pg_dump-h [数据库地址]-p [数据库端口]-U [用户名]-W [密码]-F c-b-v-f [备份文件名] [数据库名]。
使用pg_dumpall命令备份所有数据库:在远程连接到数据库后,可以使用pg_dumpall命令备份所有数据库,将备份文件传输到本地或其他服务器。命令示例:pg_dumpall-h [数据库地址]-p [数据库端口]-U [用户名]-W [密码]-f [备份文件名]。
使用pgAdmin等GUI工具进行备份:如果可以通过GUI工具远程连接到数据库,可以使用工具提供的备份功能进行备份。
无论使用哪种备份方法,建议在备份之前先确认数据的完整性和一致性,以确保备份数据的准确性。另外,备份文件的传输也需要注意数据安全性,可以使用加密方式或者传输到安全的存储设备上。
postgresql数据库备份的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于postgresql如何备份数据库、postgresql数据库备份的信息别忘了在本站进行查找哦。