<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>惜分飞 &#187; 单个pg文件恢复</title>
	<atom:link href="https://www.xifenfei.com/tag/%e5%8d%95%e4%b8%aapg%e6%96%87%e4%bb%b6%e6%81%a2%e5%a4%8d/feed" rel="self" type="application/rss+xml" />
	<link>https://www.xifenfei.com</link>
	<description>提供7*24专业数据库(Oracle,SQL Server,MySQL,PostgreSQL等)恢复和技术支持@Tel:17813235971</description>
	<lastBuildDate>Wed, 04 Nov 2026 15:33:30 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>PostgreSQL恢复工具&#8212;pdu恢复单个表文件</title>
		<link>https://www.xifenfei.com/2025/03/pdu-single-oid-recovery.html</link>
		<comments>https://www.xifenfei.com/2025/03/pdu-single-oid-recovery.html#comments</comments>
		<pubDate>Sun, 02 Mar 2025 13:51:12 +0000</pubDate>
		<dc:creator><![CDATA[惜分飞]]></dc:creator>
				<category><![CDATA[pdu工具]]></category>
		<category><![CDATA[pdu]]></category>
		<category><![CDATA[pdu恢复]]></category>
		<category><![CDATA[pg恢复]]></category>
		<category><![CDATA[单个pg文件恢复]]></category>

		<guid isPermaLink="false">https://www.xifenfei.com/?p=11265</guid>
		<description><![CDATA[联系：手机/微信(+86 17813235971) QQ(107644445)  &#8230; <a href="https://www.xifenfei.com/2025/03/pdu-single-oid-recovery.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="xifenfeicopyright">
<p>联系：<a href="https://www.xifenfei.com/about_xifenfei" target="_blank">手机/微信(+86 17813235971)   QQ(107644445)</a><a target="_blank" href="http://wpa.qq.com/msgrd?v=3&#038;uin=107644445&#038;site=qq&#038;menu=yes"><img src="https://www.xifenfei.com/wp-content/themes/img/site_qq.jpg" alt="QQ咨询惜分飞" title="QQ咨询惜分飞"/></a></p>
<p>标题：<a href="https://www.xifenfei.com/2025/03/pdu-single-oid-recovery.html" target="_blank">PostgreSQL恢复工具&#8212;pdu恢复单个表文件</a></p>
<p>作者：<a href="https://www.xifenfei.com" target="_blank">惜分飞</a>©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]</p>
</div>
<p>在某些情况下,比如我们需要对单个的PostgreSQL库的表文件进行恢复(比如文件系统损坏,drop库/表,truncate表等原因,然后找到了部分oid文件),可以使用pdu对其进行完美恢复（相比pg_filedump也方便很多）,具体操作步骤:<br />
<strong>1. 由于只有单个表文件,无法获取字典信息,因此需要应用厂商/客户提供具体表创建语句</strong></p>
<pre class="brush: sql; title: ; notranslate">
his5_dms=#    CREATE TABLE t_xff (
his5_dms(#         id                       bigint,
his5_dms(#         hospital_id              bigint,
his5_dms(#         parent_id                bigint,
his5_dms(#         disease_code             varchar(60),
his5_dms(#         disease_name             varchar(60),
his5_dms(#         type                     smallint,
his5_dms(#         py                       varchar(60),
his5_dms(#         wb                       varchar(60),
his5_dms(#         sc                       varchar(20),
his5_dms(#         order_no                 int,
his5_dms(#         state                    smallint,
his5_dms(#         create_datetime          timestamp(6),
his5_dms(#         create_id                bigint,
his5_dms(#         edit_datetime            timestamp(6),
his5_dms(#         edit_id                  bigint,
his5_dms(#         search_path              varchar(300),
his5_dms(#         diagnosis_sort           int,
his5_dms(#         category_name            varchar(40),
his5_dms(#         input_option             varchar(40),
his5_dms(#         category_class           smallint,
his5_dms(#         memo1                    varchar(300),
his5_dms(#         memo2                    varchar(300),
his5_dms(#         other_code               varchar(60),
his5_dms(#         other_name               varchar(60),
his5_dms(#         special_disease_flag     smallint
his5_dms(#    );
CREATE TABLE
</pre>
<p><strong>2. 把oid文件pdu放到restore库中</strong></p>
<pre class="brush: bash; title: ; notranslate">
[root@xifenfeidg public]# pwd
/tmp/pdu/restore/public
[root@xifenfeidg public]# ls -l
total 7144
-rw-r--r--. 1 root root 7315456 Mar  2 21:04 123456
[root@xifenfeidg public]# 
</pre>
<p><strong>3. 使用add语句在pdu加载数据类型</strong></p>
<pre class="brush: bash; title: ; notranslate">
restore.public=# add 123456 t_xff bigint,bigint,bigint,varchar,varchar,smallint,varchar,varchar,varchar,
int,smallint,timestamp,bigint,timestamp,bigint,varchar,int,varchar,varchar,
smallint,varchar,varchar,varchar,varchar,smallint;
添加完成，请用\dt;查看可unload的表
restore.public=# \dt;
|--------------------------------------------------|
|               表名                  |  表大小    |
|--------------------------------------------------|
|    t_xff                            |  6.98 MB   |
|--------------------------------------------------|

        仅显示表大小排名前 1 的表名
</pre>
<p><strong>4.使用pdu恢复表数据</strong></p>
<pre class="brush: bash; title: ; notranslate">
restore.public=# unload t_xff;
正在解析表 &lt;t_xff&gt;. 已解析数据页: 893, 已解析数据: 46998 条
&lt;t_xff&gt;-&lt;restore/public/123456&gt; 解析完成, 894 个数据页 ,共计 46998 条数据. 成功 46998 条; 失败【0】条 
 COPY文件路径为:&lt;restore/public/t_xff.csv&gt;
restore.public=# unload COPY;

COPY命令导出完成, 文件路径: restore/COPY/public_copy.sql
</pre>
<p><strong>5.导入数据到pg库中</strong></p>
<pre class="brush: sql; title: ; notranslate">
his5_dms=# \i restore/COPY/public_copy.sql
SET
COPY 46998
his5_dms=# select count(1) from t_xff;
 count 
-------
 46998
(1 row)
his5_dms=# \x
Expanded display is on.
his5_dms=# select * from t_xff limit 1;
-[ RECORD 1 ]--------+---------------------------
id                   | 323839
hospital_id          | 0
parent_id            | 301
disease_code         | 57.8900x003
disease_name         | 腹腔镜下膀胱颈悬吊术
type                 | 2
py                   | fqjxpgjxds
wb                   | eeqgeeceks
sc                   | 
order_no             | 0
state                | 1
create_datetime      | 2022-09-29 15:22:58.588492
create_id            | 
edit_datetime        | 
edit_id              | 
search_path          | 301,
diagnosis_sort       | 
category_name        | 
input_option         | 
category_class       | 3
memo1                | 
memo2                | 
other_code           | 
other_name           | 
special_disease_flag | 0
</pre>
<div id="crp_related"><ul><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2025/02/pdu-threshold.html" rel="bookmark" class="crp_title">PostgreSQL恢复工具&#8212;pdu工具介绍</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2025/03/pdu-recovery-corrupt-block.html" rel="bookmark" class="crp_title">PostgreSQL表文件损坏恢复&#8212;pdu恢复损坏的表文件</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2010/08/%e5%b8%b8%e8%a7%81%e6%95%b0%e6%8d%ae%e5%ba%93%e5%af%b9%e6%97%a5%e6%9c%9f%e6%97%b6%e9%97%b4%e6%a0%bc%e5%bc%8f%e5%8c%96.html" rel="bookmark" class="crp_title">常见数据库对日期时间格式化</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2025/04/pdu-support-kingbasees-recovery.html" rel="bookmark" class="crp_title">pdu完美支持金仓数据库恢复(KingbaseES)</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2009/12/%e5%ad%98%e5%82%a8%e8%bf%87%e7%a8%8b%e5%ae%9e%e7%8e%b0%ef%bc%9a%e6%9b%b4%e6%96%b0%e3%80%81%e6%b1%87%e6%80%bb%e3%80%81%e5%a4%8d%e5%88%b6%e5%8a%9f%e8%83%bd.html" rel="bookmark" class="crp_title">存储过程实现：更新、汇总、复制功能</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2009/12/%e5%8a%a8%e6%80%81%e5%a4%8d%e5%88%b6%e4%b8%80%e4%b8%aa%e8%a1%a8%e4%b8%ad%e4%b8%80%e6%9d%a1%e6%95%b0%e6%8d%ae%e5%88%b0%e5%8f%a6%e4%b8%80%e4%b8%aa%e8%a1%a8%e4%b8%ad%ef%bc%88%e5%88%97%e4%b8%8d%e5%ae%8c.html" rel="bookmark" class="crp_title">动态复制一个表中一条数据到另一个表中（列不完全相同）（存储过程实现）</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2025/03/pdu-pg-delete-recovery.html" rel="bookmark" class="crp_title">pg删除数据恢复&#8212;pdu恢复pg delete数据</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2015/08/mysql%e6%81%a2%e5%a4%8d%e6%95%b0%e6%8d%ae%e5%ad%97%e5%85%b8%e8%a1%a8%e8%ae%b2%e8%a7%a3.html" rel="bookmark" class="crp_title">[MySQL异常恢复]恢复数据字典表讲解</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/02/ms-sql-server%e4%b8%ad%e7%9a%84-convert-%e6%97%a5%e6%9c%9f%e6%97%b6%e9%97%b4-%e6%a0%bc%e5%bc%8f%e5%8c%96%e5%a4%a7%e5%85%a8.html" rel="bookmark" class="crp_title">MS SQL Server中的 CONVERT 日期时间 格式化大全</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2012/04/db2%e4%b8%ad%e4%ba%a7%e7%94%9f%e5%94%af%e4%b8%80%e5%80%bc%e4%b8%89%e7%a7%8d%e6%96%b9%e5%bc%8f.html" rel="bookmark" class="crp_title">DB2中产生唯一值三种方式</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2010/08/%e7%b2%be%e5%bd%a9sql%e8%af%ad%e5%8f%a5.html" rel="bookmark" class="crp_title">精彩SQL语句</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/12/mysql%e6%9f%a5%e8%af%a2%e8%a7%86%e5%9b%be%ef%bc%9aerror-1449-hy000.html" rel="bookmark" class="crp_title">Mysql查询视图：ERROR 1449 (HY000)</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>https://www.xifenfei.com/2025/03/pdu-single-oid-recovery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
