postgresql卸载后之前的数据怎么恢复

postgresql卸载后之前的数据怎么恢复,第1张

亲亲亲,别担心,就是恢复数据嘛,minitool数据恢复恢复工具官方免费正版帮助你,MiniTool数据恢复工具是一款功能全面、恢复效率高效的免费数据恢复工具。该工具具备超强的数据恢复能力:可以恢复已经从Windows回收站中清空的数据、可以从被删除的分区中恢复数据、可以从被格式化的分区中恢复数据、可以从系统崩溃的计算机中恢复数据及误Ghost导致的数据丢失。该软件支持的数据存储介质也是多种多样,包括:IDE/ATA、SATA、SCSI、USB等接口的硬盘、SD、TF、SDHC等类型的存储卡、记忆棒、U盘、MP3/4、CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-R、DVD-RW、DVD+R、DVD+RW、 DVD-RAM等类型的光盘,可以去百度搜一下,或者360软件管家里下载,免费的哦,占用内存很小

您好,举例说明:如将一Shapfile文件“c:\road.shp”导入到数据表“road”中,数据库为“sjzmap”。1、运行“命令提示符”。2、切换至PostgreSQL数据库安装目录中的bin目录下。3、执行此目录下的shp2pgsql命令:“shp2pgsqlc:\road.shproad>c:\road.sql”。4、如将此文件直接导入数据库(不推荐):“shp2pgsql-cc:\road.shproadsjzmap|psql-dsjzmap”。5、使用pgAdmin3选择数据库,再导入表。注:DropsthedatabasetablebeforecreatinganewtablewiththedataintheShapefile.AppendsdatafromtheShapefileintothedatabasetable.Notethattousethisoptiontoloadmultiplefiles,thefilesmusthavethesameattributesandsamedatatypes.CreatesanewtableandpopulatesitfromtheShapefile.OnlyproducesthetablecreationSQLcode,withoutaddinganyactualdata.Thiscanbeusedifyouneedtocompletelyseparatethetablecreationanddataloadingsteps.UsethePostgreSQL"dump"formatfortheoutputdata.Thiscanbecombinedwith-a,-cand-d.Itismuchfastertoloadthanthedefault"insert"SQLformat.Usethisforverylargedatasets.CreatesandpopulatesthegeometrytableswiththespecifiedSRID.Keepidentifiers'case(column,schemaandattributes).NotethatattributesinShapefileareallUPPERCASE.Coerceallintegerstostandard32-bitintegers,donotcreate64-bitbigints,eveniftheDBFheadersignatureappearstowarrantit.CreateaGiSTindexonthegeometrycolumn.OutputWKTformat,forusewitholder(0.x)versionsofPostGIS.NotethatthiswillintroducecoordinatedriftsandwilldropMvaluesfromshapefiles.Specifyencodingoftheinputdata(dbffile).Whenused,allattributesofthedbfareconvertedfromthespecifiedencodingtoUTF8.TheresultingSQLoutputwillcontainacommand,sothatthebackendwillbeabletoreconvertfromUTF8towhateverencodingthedatabaseisconfiguredtouseinternally.

PG默认每个page的大小为8K,PG数据页写入是以page为单位,但是在断电等情况下, *** 作系统往往不能保证单个page原子地写入磁盘,这样就极有可能导致部分数据块只写到4K( *** 作系统是一般以4K为单位),这些“部分写”的页面包含新旧数据的混合。在崩溃后的恢复期间,xlog 里面存储的记录变化信息不够完整,无法完全恢复该页。PG为了解决这类问题,full_page_write机制孕育而生。

PostgreSQL 在 checkpoint 之后在对数据页面的第一次写的时候会将整个数据页面写到 xlog 里面。当出现主机断电或者OS崩溃时,redo *** 作时通过checksum发现“部分写”的数据页,并将xlog中保存的这个完整数据页覆盖当前损坏的数据页,然后再继续redo就可以恢复整个数据库了。

除了能够解决断电等带来坏数据页问题外,full_page_write 还应用在在线备份功能上。PG进行全量备份数据库一般通过pg_basebackup工具实现,pg_basebackup类似于copy *** 作,在此期间,也会出现部分数据页写到一半时文件被copy走了,正是因为full_page_write存在,备份出来的数据库才可以成功恢复启动。所以即便full_page_write=off,在备份时也会被强制自动打开,保证备份成功。

实现原理

full_page_write主要在XLogInsert(插入一条xlog记录)时发挥作用,通过full_page_writer开关状态以及是否是checkpoint后对数据页面的第一次修改(lsn<RedoRecPtr)判断是否需要备份数据页。如果需要备份,那么则把数据页存放在这条记录的末尾,最终写入到xlog中。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6935310.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存