如果不能 *** 作服务器,但是能够远程连接到数据库进行增删改查,备份数据库的方法有以下几种:
使用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自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰常有限。所以一直寻找完美的备份恢复方案。
梦里寻他千百度,伊人却在灯火阑珊处其实PostgreSQL内置不少的工具,寻找的备份恢复方案就在其中:pg_dump,psql。这两个指令 在数据库的安装目录下,比如我自己本地安装的,路径形如:C:\Program Files\PostgreSQL\95\;然后进入到bin文件夹,会看到不少的exe文件,这就是PostgreSQL内置的工具了。里面会找到 pg_dumpexe,psqlexe两个文件。我们怎么用他们?
用法:
备份数据库,指令如下:
pg_dump -h 1648223354 -U postgres databasename > C:\databasenamebak
开始-运行-cmd d出dos控制台;然后 在控制台里,进入PostgreSQL安装目录bin下:
cd C:\Program Files\PostgreSQL\90\bin
最后执行备份指令:
pg_dump -h 1648223354 -U postgres databasename > C:\databasenamebak
指令解释:如上命令,pg_dump 是备份数据库指令,1648223354是数据库的ip地址(必须保证数据库允许外部访问的权限哦~),当然本地的数据库ip写 localhost;postgres 是数据库的用户名;databasename 是数据库名。> 意思是导出到C:\databasenamebak文件里,如果没有写路径,单单写databasenamebak文件名,那么备份文件会保存在C: \Program Files\PostgreSQL\90\bin 文件夹里。
恢复数据库,指令如下:
psql -h localhost -U postgres -d databasename < C:\databasenamebak(测试没有成功)
pg_restoreexe --host localhost --port 5432 --username "postgres" --dbname "symbolmcnew" --no-password --verbose "databasenamebackup"(测试成功)
指令解释:如上命令,psql是恢复数据库命令,localhost是要恢复到哪个数据库的地址,当然你可以写上ip地址,也就是说能远程恢复(必须保证 数据库允许外部访问的权限哦~);postgres 就是要恢复到哪个数据库的用户;databasename 是要恢复到哪个数据库。< 的意思是把C:\databasenamebak文件导入到指定的数据库里。
以上所有的是针对windows而言的,如果在linux下,会不会有效?
在linux里依然有效。有一个值得注意的是:如果直接进入PostgreSQL的安装目录bin下,执行命令,可能会出现 找不到pg_dump,psql的现象,我们在可以这样:
备份:
/opt/PostgreSQL/95/bin/pg_dump -h 1648223354 -U postgres databasename > databasenamebak
恢复:
/opt/PostgreSQL/95/bin/psql -h localhost -U postgres -d databasename < databasenamebak
1,先下载这个:
>
postgresql 可以导出标准的sql语句,下边的步骤详细讲述了从Postgres数据库中导出数据的方法:
(1)将PostgreSQL数据库的psql工具所在的路径添加到系统的环境变量中;
(2)运行cmd,在窗口中输入psql,会有提示输入口令的信息,按ctrl+c终止该命令;
(3)建立与服务器的链接,具体格式:psql -h 服务器IP地址 -U 数据库连接用户名 -d 数据库名称 -p 端口号;(比如:psql -h 1921689202 -U postgres -d luoyang -p 5432),链接成功的话会出现:“数据库名称=#”格式的提示(luoyang=#);
(4)修改数据库中导出数据的编码格式为gbk,指令:\encoding gbk;(输入\encoding可以查看数据库的编码格式,gbk编码方式保证导出的中文汉字不为乱码)
(5)导出数据表中的数据为csv格式文件,指令:\copy 表名 to 路径 with csv(比如:\copy tbl_user_info to 'C:/usercsv' with csv,成功后在C盘根目录下就会有相应的csv文件);
图示:
以上就是关于在不能 *** 作服务器的情况下如何备份pg数据库全部的内容,包括:在不能 *** 作服务器的情况下如何备份pg数据库、postgresql流复制 怎么验证备份、linux下关于PostgreSQL数据库同步的问题!slony等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)