我有 postgresql 数据库。我的表名是tblvoippolicy
. 现在,问题是我错误地从表中删除了一些记录。当我使用以下命令获取数据文件时。
select * from pg_class where relname = 'tblvoippolicy' ; I get the following result
relname | relnamespace | reltype | relowner | relam | relfilenode | reltablespace | relpages | reltuples | reltoastrelid | reltoastidxid | relhasindex | relisshared | relkind | relnatts | relchecks | reltriggers | relukeys | relfkeys | relrefs | relhasoids | relhaspkey | relhasrules | relhassubclass | relacl
---------------+--------------+---------+----------+-------+-------------+---------------+----------+-----------+---------------+---------------+-------------+-------------+---------+----------+-----------+-------------+----------+----------+---------+------------+------------+-------------+----------------+--------
tblvoippolicy | 17234 | 407227 | 100 | 0 | 407226 | 0 | 0 | 0 | 0 | 0 | t | f | r | 8 | 0 | 0 | 0 | 0 | 0 | t | t | f | f |
现在,当我使用 cat 将该数据查看到数据库的数据文件中时/var/pgsql/data/base/17230/407226
。我得到以下结果。
[root@manage upload]# cat /var/pgsql/data/base/17230/407226
ôu\"(Ô Ÿà Ÿà¨žð8žàÔÈM ï¡test EC250
@%
ÿ10.106.1.228Q ï–BEC200_Post_250 EC200
ú%
ú10.106.1.228? ï”BBS_Service_Pre_250bs_service_1
@&
ú10.106.1.2286 ï’BEC200_Pre_500 EC200
@&
ô10.106.1.228+ ïBEC200_Pre_250 EC200
@&
我无法理解所描述的值,我想恢复从表中删除的记录,我怎样才能取回这些记录?
看看这是否有帮助。我会立即进行备份,因为如果真空清除已删除的行,它就会消失,您将没有任何机会恢复它。
恢复已删除的行