簡體   English   中英

PostgreSQL中的文本壓縮

[英]Text compression in PostgreSQL

我知道在SQL中我們可以壓縮文本字段,如下所示:

CREATE TABLE TableName (FieldName CHARACTER(255) WITH COMPRESSION);

我想知道如何在Postgres中實現文本壓縮。

默認情況下,對所有字符串類型都啟用壓縮,您不必告訴數據庫執行此操作。 查看有關TOAST的手冊

  • PLAIN可防止壓縮或外線存儲; 此外,它禁止使用varlena類型的單字節標頭。 對於非TOAST-capable數據類型列,這是唯一可行的策略。
  • EXTENDED允許壓縮和外線存儲。 這是大多數TOAST-capable數據類型的默認值。 首先嘗試壓縮,然后在行仍然太大的情況下進行線外存儲。
  • EXTERNAL允許外部存儲但不允許壓縮。 使用EXTERNAL將使寬文本和bytea列上的子字符串操作更快(以增加的存儲空間為代價),因為這些操作被優化為在未壓縮時僅獲取外部值的所需部分。
  • MAIN允許壓縮但不允許外線存儲。 (實際上,仍然會為這些列執行外部存儲,但只有在沒有其他方法使行足夠小以適合頁面時才作為最后的手段。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM