最近在对项目的数据库进行备份还原时出现了一个问题:
pg_restore: [archiver] unsupported version (1.13) in file header
我一开始是在windows系统上进行开发,安装的PostgreSQL版本为9.6,后面我需要将数据转移到linux系统
上,因此我使用了pg_dump进行数据的导出,但是在linux上使用pg_restore时却报了以上错误,我在linux上
安装的PostgreSQL版本也为9.6,按理说版本是一致的,不该出现这个问题。
经过搜索我在StackOverflow上找到了此错误相关的问题:
Getting “[archiver] unsupported version (1.13) in file header” when running pg_restore
此问题下的答案是建议升级PostgreSQL版本,但是我还是不明白为什么两个环境下都是9.6版本,却会出现
版本不一致的情况。
后面我想到会不会是因为pg_restore版本存在差异,于是我在两个系统上都查看了下pg_restore的版本
pg_restore --version
在windows下的结果为9.6.14
而linux下的版本显示却为9.2(不记得小版本号,忘记截图了)
因此实际上在PostgreSQL同为9.6版本下,pg_resore的版本是不一致的,这就导致了此问题的产生
后续的解决方案为我将linux的PostgreSQL升级为了10,这个问题就没有出现了。
最近在对项目的数据库进行备份还原时出现了一个问题:pg_restore: [archiver] unsupported version (1.13) in file header我一开始是在windows系统上进行开发,安装的PostgreSQL版本为9.6,后面我需要将数据转移到linux系统上,因此我使用了pg_dump进行数据的导出,但是在linux上使用pg_restore时...
PG
重装
pg
_reloaded是一个对恢复
数据库
很有用的程序。 您可以使用它来刷新在线演示
数据库
,开发
数据库
以及使用后可能要重置数据的任何位置。 您计划要从备份
还原
数据库
。
当前,您将必须从源代码构建它,二进制发行版将很快发布。
通过运行
pg
_reloaded --help获得使用情况信息
$
pg
_reloaded check --config= "
pg
_reloaded.yml "
# Run with the default configuration
$
pg
_reloaded start
# Or with a path to a configuration
file
$
pg
_reloaded start --config= " development.yml " --log-
file
= " ./path/to/log "
如果要立即
还原
数据库
,请运行以下命令
pg
_bulkload是用于
PostgreSQL
高速数据加载实用程序。
pg
_bulkload旨在将大量数据加载到
数据库
中。 您可以绕过
PostgreSQL
共享缓冲区将数据加载到表中。
pg
_bulkload还具有一些ETL功能; 输入数据验证和数据转换。 ----------
pg
_bulkload位于
pg
foundry中,但是已经暂
时
移到了这里。 **************************************** 2015.07.03现在,我们将移至GitHub。 http://github.com/ossc-db/
pg
_bulkload ************************************
pg
_bloat_check
pg
_bloat_check是一个脚本,用于为
PostgreSQL
表和/或索引提供膨胀报告。 它至少需要Python 2.6中和
pg
stattuple的contrib模块-
注意,在非常大的
数据库
或具有许多表的
数据库
上,使用
pg
stattuple检查膨胀是非常昂贵的。 该脚本首先需要运行--create_stats_table来创建用于存储膨胀统计数据的表。 这使得查看膨胀统计数据或运行常规监视
时
间间隔变得更加容易,而不必再次重新扫描
数据库
。 这种膨胀检测方法的开销意味着该脚本不应经常运行以提供任何类型的实
时
膨胀监测。 建议最多在非高峰
时
段每周运行一次或每月运行一次,以搜索需要大量维护的对象。 连续运行该脚本可能会导致性能
问题
,因为如果运行过于频繁,它可能会导致共享缓冲区中优先级较高的数据被清除。
一个简单的文本列表,按浪费的空间排序。 适用于电子
检测终端是否支持Unicode
这对于决定在命令行输出中使用Unicode字符还是回退ASCII字符很有用。
请注意,检查是非常幼稚的。 仅假设所有非Windows终端都支持Unicode和硬代码,而Windows终端确实支持Unicode。 但是,多年来我一直在一些流行的软件包中使用此逻辑,而没有
出现
问题
。
$ npm install is-unicode-
supported
const isUnicode
Supported
= require ( 'is-unicode-
supported
' ) ;
isUnicode
Supported
( ) ;
//=> true
isUnicode
Supported
()
返回有关终端是否支持Unicode的boolean 。
检查stdout或stderr是否是交互式的
color-检测
KingbaseEs 支持在sys_dump备份
时
使用key进行加密。在sys_
restore
时
,如果没提供key,或者key值不对,将无法进行恢复。
[kingbase@dbhost03 ~]$ sys_dump -U system -F c -f 1.dmp -d test --table=pivot_t1 -K 1234567
[kingbase@dbhost03 ~]$ sys_re...
PostgreSQL
版本迁移 -
pg
_
restore
:[归档]在文件头中有不支持的版本前记处理1. 将backup恢复至原导出版本库2. 将
数据库
通过
PG
转存为SQL3. 将SQL恢复至低版本附录1. psql执行
时
乱码2. 卸载安装不同版本
PG
时
切记提前备份好已存储的SQL文件!!!
重装电脑后安装了同一大版本中最新的版本,导致和以前部署小版本不一致,从高版本备份出的backup文件在低版本中无法恢复,报错:
pg
_
restore
: [归档] 在文件头中有不支持的版本 (
1.13
)。
一、
postgresql
中的
pg
_dump和
pg
_
restore
使用
pg
_dump和
pg
_
restore
对数据进行备份和
还原
。 其中
pg
_
restore
恢复
还原
采用的是创建语句
1.1
pg
_dump和
pg
_
restore
数据库
备份:
pg
_dump
数据库
恢复:
pg
_
restore
使用
pg
_dump的自定义转储格式。. 如果
PostgreSQL
所在的系统上安装了zlib压缩库,...
PostgreSQL
13
数据库
建库建表导入数据等操作都运行成功,在使用
pg
Admin4中backup和
restore
等命令
时
报错:
‘C:\
PostgreSQL
\13\
pg
Admin 4\runtime\
pg
_dump.exe’
file
not found. Please correct the Binary Path in the Preferences dialog
打开
File
菜单中的Preference,发现
PostgreSQL
Binary Path一栏中
填入其正确的路径然后保存(为啥程序
根据需要对集群中的
PostgreSQL
数据库
执行备份 (
pg
_dump*)。
对于某些
数据库
集群,可能存在以下
数据库
:
很少更新/更改,因此不需要像那些经常更改/更新的
数据库
那样频繁地转储。
足够大以至于不需要
时
倾倒它们是不可取的。
全局数据总是被转储而不考虑是否有任何单个
数据库
需要备份。
pg
_backup [选项]...
常规选项:
-F, --format=c|t|p output
file
format for data dumps
(custom, tar, plain text)
(the default is custom)
npm install -g @urbica/
pg
-migrate
...或从源代码构建
git clone https://github.com/urbica/
pg
-migrate.git
cd
pg
-migrate
npm install
Usage:
pg
-migrate [options] new < name>
pg
-migrate [options] migrate
pg
-migrate [options] r
PostgreSQL
是一种开源的关系型
数据库
,它提供了多种管理工具来操作
数据库
,其中包括psql和
pg
_dump命令。
psql是一种命令行工具,可以用来与
PostgreSQL
数据库
进行交互。它不仅能够执行SQL语句,还可以支持交互式命令。在使用psql命令
时
,有
时
需要在命令中包含密码信息。可以使用以下的方式来在命令行中带密码执行SQL语句:
1. 在命令行中输入psql命令,启动psql工具。
2. 输入连接
数据库
的命令,例如:psql -U username -d dbname -h hostname -p port。
3. 输入密码,此
时
必须在命令行中输入密码。
4. 执行SQL语句,例如:SELECT * FROM tablename;
pg
_dump是
PostgreSQL
数据库
备份工具,可以用来将
数据库
中的数据导出到一个文件中。使用
pg
_dump命令
时
,也需要在命令行中包含密码信息。可以使用以下的方式在命令行中带密码执行
pg
_dump命令:
1. 在命令行中输入
pg
_dump命令,启动
pg
_dump工具。
2. 输入
数据库
连接信息和密码,例如:
pg
_dump -U username -d dbname -h hostname -p port -W。
3. 执行备份操作,例如:
pg
_dump -U username -d dbname -h hostname -p port -W > backup.sql。
总的来说,在使用psql和
pg
_dump命令
时
,为了在命令中包含密码信息,需要使用“-W”参数将密码输入到命令行中。当然,这种方式存在一定的安全隐患,因为密码可以被其他人看到。因此,最好使用其他方式来进行密码管理,例如使用配置文件、环境变量或者其他安全的方式。