导航:首页 > 程序命令 > postgresql备份数据库命令

postgresql备份数据库命令

发布时间:2022-06-17 21:42:47

⑴ postgresql 怎么备份数据库

PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰常有限。所以一直寻找完美的备份恢复方案。

梦里寻他千网络,伊人却在灯火阑珊处...其实PostgreSQL内置不少的工具,寻找的备份恢复方案就在其中:pg_mp,psql。这两个指令 在数据库的安装目录下,比如我自己本地安装的,路径形如:C:\Program Files\PostgreSQL\9.5\;然后进入到bin文件夹,会看到不少的exe文件,这就是PostgreSQL内置的工具了。里面会找到 pg_mp.exe,psql.exe两个文件。我们怎么用他们?
用法:
备份数据库,指令如下:
pg_mp -h 164.82.233.54 -U postgres databasename > C:\databasename.bak

开始-运行-cmd 弹出dos控制台;然后 在控制台里,进入PostgreSQL安装目录bin下:
cd C:\Program Files\PostgreSQL\9.0\bin
最后执行备份指令:
pg_mp -h 164.82.233.54 -U postgres databasename > C:\databasename.bak

指令解释:如上命令,pg_mp 是备份数据库指令,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_mp,psql的现象,我们在可以这样:
备份:
/opt/PostgreSQL/9.5/bin/pg_mp -h 164.82.233.54 -U postgres databasename > databasename.bak

恢复:
/opt/PostgreSQL/9.5/bin/psql -h localhost -U postgres -d databasename < databasename.bak

⑵ 如何备份和恢复VCSA 5.5自带的vPostgres数据库

首先,数据库的安全就会涉及到备份了,而我们在VAMI UI上面是没有找到如何备份这个VCSA的数据库的,更不用说恢复了,因此,本文就着眼于如何备份和恢复它了;
1、利用SSH或者直接登录到VCSA 5.5的CLI界面,缺省用户名为root,缺省密码为vmware;
2、然后执行如下命令,将路径切换到vpostgres程序所在目录:
#cd /opt/vmware/vpostgres/1.0/bin
3、执行如下命令备份VCSA 5.5的vpostgres数据库:
#./pg_mp EMB_DB_INSTANCE -U EMB_DB_USER -Fp -c > VCDB_Backup
说明:VCDB_Backup这个名字可以自由定义,它就是备份出来的文件名;
4、注意,需要EMB_DB_USER的密码,可以在如下路径的文件中找到:
/etc/vmware-vpx/embedded_db.cfg
利用vi编辑器或其它编辑器打开后,如下图所示,可以看到它的密码是什么:
5、如果需要恢复备份的数据库,可以执行如下命令:
#PGPASSWORD=EMB_DB_PASSWORD ./psql -db EMB_DB_INSTANCE -Upostgres - f VCDB_Backup

⑶ 如何在PostgreSQL中备份一张表(包含表结构)和恢复


--以test作为用户名,导出localhost:5432服务器上的Test数据库。
--导出的文件名为test_data

F:PostgreSQL9.2in>pg_mp-ftest_data-hlocalhost-Utest-p5432Test
口令:

F:PostgreSQL9.2in>dirtest_*
驱动器F中的卷是Install
卷的序列号是24AD-61D9

F:PostgreSQL9.2in的目录

2013-04-1514:46136,270test_data
1个文件136,270字节
0个目录10,456,657,920可用字节--将test_data文件中的数据,导入到localhost:5432服务器上的Test2数据库。

F:PostgreSQL9.2in>psql.exe-hlocalhost-Utest-p5432-dTest2<test_data

用户test的口令:test

SET
SET
SET
SET
SET
CREATESCHEMA
ALTERSCHEMA
CREATEEXTENSION
COMMENT
CREATEEXTENSION
COMMENT
......

上面的例子, 是 备份 / 恢复整个数据库的.


如果你是要 仅仅 备份 / 恢复 某个表的, 那么命令行里面增加下面的参数:


-t, --table=TABLE 只转储指定名称的表

⑷ postgresql 数据库有 用sql语句备份的方法吗

(1)将PostgreSQL数据库的psql工具所在的路径添加到系统的环境变量中;
(2)运行cmd,在窗口中输入psql,会有提示输入口令的信息,按ctrl+c终止该命令;
(3)建立与服务器的链接,具体格式:psql
-h
服务器IP地址
-U
数据库连接用户名
-d
数据库名称
-p
端口号;(比如:psql
-h
192.168.9.202
-U
postgres
-d
luoyang
-p
5432),链接成功的话会出现:“数据库名称=#”格式的提示(luoyang=#);
(4)修改数据库中导出数据的编码格式为gbk,指令:\encoding
gbk;(输入\encoding可以查看数据库的编码格式,gbk编码方式保证导出的中文汉字不为乱码)
(5)导出数据表中的数据为csv格式文件,指令:\
表名
to
路径
with
csv(比如:\
tbl_user_info
to
'C:/user.csv'
with
csv,成功后在C盘根目录下就会有相应的csv文件

⑸ postgresql的64位数据库怎么备份才能恢复到32位数据库中

pg的64位备份到32位,将数据备份为sql格式的备份文件,然后还原到32位的数据库就可以了,或者通过第三方工具进行数据迁移,不如kettle

⑹ linux下postgresql怎么备份数据库

备份手机的第三方软件可以通过腾讯手机管家的备份功能来完成备份
可以使用腾讯手机管家的手机备份功能进行备份
进入主界面点击更多,从里面找到微云软件
先进行微云软件的下载安装,之后登陆微云软件的界面
把需要备份的东西进行上传就可以完成备份了

⑺ postgresql中怎么用psql命令

连接数据库, 默认的用户和数据库是postgres
psql -U user -d dbname

切换数据库,相当于mysql的use dbname
\c dbname
列举数据库,相当于mysql的show databases
\l
列举表,相当于mysql的show tables
\dt
查看表结构,相当于desc tblname,show columns from tbname
\d tblname

\di 查看索引

创建数据库:
create database [数据库名];
删除数据库:
drop database [数据库名];
*重命名一个表:
alter table [表名A] rename to [表名B];
*删除一个表:
drop table [表名];

*在已有的表里添加字段:
alter table [表名] add column [字段名] [类型];
*删除表中的字段:
alter table [表名] drop column [字段名];
*重命名一个字段:
alter table [表名] rename column [字段名A] to [字段名B];
*给一个字段设置缺省值:
alter table [表名] alter column [字段名] set default [新的默认值];
*去除缺省值:
alter table [表名] alter column [字段名] drop default;
在表中插入数据:
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);
修改表中的某行某列的数据:
update [表名] set [目标字段名]=[目标值] where [该行特征];
删除表中某行数据:
delete from [表名] where [该行特征];
delete from [表名];--删空整个表
创建表:
create table ([字段名1] [类型1] <references 关联表名(关联的字段名)>;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);
\right 显示 PostgreSQL 的使用和发行条款
\encoding [字符编码名称]
显示或设定用户端字符编码
\h [名称] SQL 命令语法上的说明,用 * 显示全部命令
\prompt [文本] 名称
提示用户设定内部变数
\password [USERNAME]
securely change the password for a user
\q 退出 psql

可以使用pg_mp和pg_mpall来完成。比如备份sales数据库:
pg_mp drupal>/opt/Postgresql/backup/1.bak

⑻ 怎么在javaWeb里实现备份postgresql的功能

用java运行pg_mp命令行程序就行。
pg_m是postgresql自带的用来备份数据库的命令行程序,具体用法请参考文档。

⑼ postgresql 怎样自动备份

第一步:

下载批处理文件。

第二步:

你可以通过一个简单的命令(schtasks /?查看帮助)或者使用图形界面(开始-控制面板-系统和安全-管理工具-任务计划程序)运行任务计划管理工具,还可以在%SYSTEMROOT%\System32目录下双击Taskschd.msc来启动它。

第三步:

你可以通过向导或通过XML文件导入信息来创建基本任务。向导方式创建方法见任务计划程序帮助,下面介绍下命令行语法:
schtasks /Create [/S <system> [/U <username> [/P [<password>]]]] [/RU <username> [/RP <password>]] /SC <schele> [/MO <modifier>] [/D <day>] [/M <months>] [/I <idletime>] /TN <taskname> /TR <taskrun> [/ST <starttime>] [/RI <interval>] [ {/ET <endtime> | /DU <ration>} [/K] [/XML <xmlfile>] [/V1]] [/SD <startdate>] [/ED <enddate>] [/IT] [/Z] [/F]

查看此命令帮助:
schtasks /Create /?

如果在Windows防火墙中远程任务计划管理被禁用而文件和打印共享被启用并且远程注册表服务正在运行,远程计算机上将会被创建一个V1任务即使没有使用参数V1。参数V1表明一个任务对下层系统可见。

使用代码

脚本:
<a href="http://my.oschina.net/echolee1987" target="_blank" rel="nofollow">@ECHO</a> OFF @setlocal enableextensions<a href="http://my.oschina.net/ini" target="_blank" rel="nofollow">@cd</a> /d "%~dp0" SET PGPATH=C:\"Program Files"\PostgreSQL\9.1\bin\ SET SVPATH=f:\ SET PRJDB=demo SET DBUSR=postgres FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k FOR /F "TOKENS=1,2,3 DELIMS=: " %%i IN ('TIME /T') DO SET t=%%i%%j%%k SET DBDUMP=%PRJDB%_%d%_%t%.sql<a href="http://my.oschina.net/echolee1987" target="_blank" rel="nofollow">@ECHO</a> OFF %PGPATH%pg_mp -h localhost -p 5432 -U postgres %PRJDB% > %SVPATH%%DBDUMP% echo Backup Taken Complete %SVPATH%%DBDUMP%

初始值

PGPATH - PostgreSQL路径
SVPATH - 备份文件路径
PRJDB - 要备份的数据库名
DBUSR - 数据库用户名

⑽ PostgreSQL9.2备份与还原

cd C:\Program Files\PostgreSQL\9.0\bin

备份数据库:
pg_mp -h localhost -U postgres databasename > C:\databasename.bak

恢复数据库:
psql -h localhost -U postgres -d databasename < C:\databasename.bak

阅读全文

与postgresql备份数据库命令相关的资料

热点内容
中国年龄的算法有哪些 浏览:816
安卓微信版本过低不升级怎么登录微信 浏览:937
程序员专科生长期目标 浏览:685
以太坊交易确认算法 浏览:814
文件夹变成hjm打不开怎么办 浏览:571
分页算法视频 浏览:105
python3标准库pdf 浏览:600
杭州云服务器销售 浏览:536
pdf密码移除 浏览:148
云迅智创FIL服务器 浏览:940
中间件pdf 浏览:277
输入服务器上的ip地址怎么办啊 浏览:296
app道客巴巴如何登录 浏览:87
初中物理课本pdf 浏览:340
原神安装包解压失败 浏览:349
分期车有不需要解压的吗 浏览:765
程序员高效软件 浏览:471
十年后程序员的工资还会这么高吗 浏览:404
用气球解压玩具教程 浏览:328
命令与征服3汉化补丁 浏览:941