Postgresql

Postgresql 恢復數據庫值

  • August 31, 2012

我有 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
@&

我無法理解所描述的值,我想恢復從表中刪除的記錄,我怎樣才能取回這些記錄?

看看這是否有幫助。我會立即進行備份,因為如果真空清除已刪除的行,它就會消失,您將沒有任何機會恢復它。

恢復已刪除的行

引用自:https://dba.stackexchange.com/questions/12322