PostgreSQL的磁盘空间占用问题

豆豆网   技术应用频道   2007年10月26日  【字号: 收藏本文

本文详细介绍PostgreSQL的磁盘空间占用问题

  我觉得PostgreSQL的这种工作方式有它的一个好处,就是如果内存足够大,可以指定一个很大的FreeSpaceMap,对于OLTP型的应用,可能会大幅提高性能(猜测,没有验证过),另外用户可以自已选择在合适的时候进行vacuum或vacuumfull,如果你确信一个表只会往里插记录(如记录操作日志),对这个表就可以永远不进行vacuumfull,是不是很灵活?

  不过,使用vacuumfull大量移动数据毕竟是件很耗时的工作,在此期间数据库性能会严重下降,大概这就是“灵活”的代价了。在这方面,Oracle的Block->Extent->Segment这种复杂的机制可能更有效一些吧。据说PostgreSQL将引入表空间的概念了,值得期待啊!

  至于FreeSpaceMap设多大,上面的文章教了个办法,照着做就行了,只是需要弄明白,这毕竟是一个“Map”,如果打算删掉300M的记录,FreeSpaceMap并不需要申请300M喔:D

  qjlemon 回复于:2004-07-08 14:09:24

  TuningPostgreSQLforperformance 

  ShridharDaithankar,JoshBerkus 

  July3,2003Copyright2003ShridharDaithankarandJoshBerkus. 

  Authorizedforre-distributiononlyunderthePostgreSQLlicense(seewww.postgresql.org/license). 

  TableofContents

  1Introduction

  2Somebasicparameters

  2.1Sharedbuffers

  2.2Sortmemory

  2.3EffectiveCacheSize

  2.4FsyncandtheWALfiles

  3Somelessknownparameters

  3.1random_page_cost

  3.2Vacuum_mem

  3.3max_fsm_pages

  3.4max fsm_relations

  3.5wal_buffers

  4Othertips

  4.1Checkyourfilesystem

  4.2TrytheAutoVacuumdaemon

责编:豆豆技术应用

正在加载评论...