- Mastering PostgreSQL 10
- Hans Jürgen Sch?nig
- 349字
- 2021-06-30 19:03:52
Optimizing storage and managing cleanup
Transactions are an integral part of the PostgreSQL system. However, transactions come with a small price tag attached. As already shown in this chapter, it can happen that concurrent users will be presented with different data. Not everybody will get the same data returned by a query. In addition to this, DELETE and UPDATE are not allowed to actually overwrite data as ROLLBACK would not work. If you happen to be in the middle of a large DELETE operation, you cannot be sure whether you will be able to COMMIT or not. In addition to this, data is still visible while you perform DELETE, and sometimes data is even visible once your modification has long since finished.
Consequently, this means that cleanup has to happen asynchronously. A transaction cannot clean up its own mess and COMMIT/ROLLBACK might be too early to take care of dead rows.
The solution to this problem is VACUUM:
test=# \h VACUUM
Command: VACUUM
Description: garbage-collect and optionally analyze a database
Syntax:
VACUUM [ ( { FULL | FREEZE | VERBOSE | ANALYZE } [, ...] ) ] [ table_name [ (column_name [, ...] ) ] ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table_name ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table_name [ (column_name [, ...] ) ] ]
VACUUM will visit all pages that potentially contain modifications and find all the dead space. The free space found is then tracked by Free Space Map (FSM) of the relation.
Note that VACUUM will, in most cases, not shrink the size of a table. Instead, it will track and find free space inside existing storage files.
What this means to the end users will be outlined in the Watching VACUUM at work section of this chapter.
- 三菱FX3U/5U PLC從入門到精通
- 人工免疫算法改進及其應(yīng)用
- 物聯(lián)網(wǎng)與云計算
- 西門子S7-200 SMART PLC實例指導(dǎo)學(xué)與用
- 樂高機器人—槍械武器庫
- PostgreSQL 10 Administration Cookbook
- 網(wǎng)站前臺設(shè)計綜合實訓(xùn)
- 激光選區(qū)熔化3D打印技術(shù)
- 手機游戲程序開發(fā)
- Mastering Exploratory Analysis with pandas
- AVR單片機工程師是怎樣煉成的
- 玩機器人 學(xué)單片機
- 網(wǎng)管員世界2009超值精華本
- 巧學(xué)活用Linux
- NetSuite ERP for Administrators