]> begriffs open source - ai-pg/blob - full-docs/src/sgml/html/routine-reindex.html
PG 18 docs from https://ftp.postgresql.org/pub/source/v18.0/postgresql-18.0-docs...
[ai-pg] / full-docs / src / sgml / html / routine-reindex.html
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>24.2. Routine Reindexing</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="routine-vacuuming.html" title="24.1. Routine Vacuuming" /><link rel="next" href="logfile-maintenance.html" title="24.3. Log File Maintenance" /></head><body id="docContent" class="container-fluid col-10"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">24.2. Routine Reindexing</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="routine-vacuuming.html" title="24.1. Routine Vacuuming">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="maintenance.html" title="Chapter 24. Routine Database Maintenance Tasks">Up</a></td><th width="60%" align="center">Chapter 24. Routine Database Maintenance Tasks</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="logfile-maintenance.html" title="24.3. Log File Maintenance">Next</a></td></tr></table><hr /></div><div class="sect1" id="ROUTINE-REINDEX"><div class="titlepage"><div><div><h2 class="title" style="clear: both">24.2. Routine Reindexing <a href="#ROUTINE-REINDEX" class="id_link">#</a></h2></div></div></div><a id="id-1.6.11.11.2" class="indexterm"></a><p>
3    In some situations it is worthwhile to rebuild indexes periodically
4    with the <a class="xref" href="sql-reindex.html" title="REINDEX"><span class="refentrytitle">REINDEX</span></a> command or a series of individual
5    rebuilding steps.
6
7   </p><p>
8    B-tree index pages that have become completely empty are reclaimed for
9    re-use.  However, there is still a possibility
10    of inefficient use of space: if all but a few index keys on a page have
11    been deleted, the page remains allocated.  Therefore, a usage
12    pattern in which most, but not all, keys in each range are eventually
13    deleted will see poor use of space.  For such usage patterns,
14    periodic reindexing is recommended.
15   </p><p>
16    The potential for bloat in non-B-tree indexes has not been well
17    researched.  It is a good idea to periodically monitor the index's physical
18    size when using any non-B-tree index type.
19   </p><p>
20    Also, for B-tree indexes, a freshly-constructed index is slightly faster to
21    access than one that has been updated many times because logically
22    adjacent pages are usually also physically adjacent in a newly built index.
23    (This consideration does not apply to non-B-tree indexes.)  It
24    might be worthwhile to reindex periodically just to improve access speed.
25   </p><p>
26    <a class="xref" href="sql-reindex.html" title="REINDEX"><span class="refentrytitle">REINDEX</span></a> can be used safely and easily in all cases.
27    This command requires an <code class="literal">ACCESS EXCLUSIVE</code> lock by
28    default, hence it is often preferable to execute it with its
29    <code class="literal">CONCURRENTLY</code> option, which requires only a
30    <code class="literal">SHARE UPDATE EXCLUSIVE</code> lock.
31   </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="routine-vacuuming.html" title="24.1. Routine Vacuuming">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="maintenance.html" title="Chapter 24. Routine Database Maintenance Tasks">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="logfile-maintenance.html" title="24.3. Log File Maintenance">Next</a></td></tr><tr><td width="40%" align="left" valign="top">24.1. Routine Vacuuming </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="40%" align="right" valign="top"> 24.3. Log File Maintenance</td></tr></table></div></body></html>