Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
e48b9b55
Commit
e48b9b55
authored
Nov 04, 2004
by
Tom Lane
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor documentation updates from Simon Riggs.
parent
e505a70c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
21 deletions
+44
-21
doc/src/sgml/ref/reindex.sgml
doc/src/sgml/ref/reindex.sgml
+21
-9
doc/src/sgml/runtime.sgml
doc/src/sgml/runtime.sgml
+21
-10
src/backend/utils/misc/guc.c
src/backend/utils/misc/guc.c
+2
-2
No files found.
doc/src/sgml/ref/reindex.sgml
View file @
e48b9b55
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/reindex.sgml,v 1.2
4 2004/10/24 22:52:04
tgl Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/reindex.sgml,v 1.2
5 2004/11/04 19:08:08
tgl Exp $
PostgreSQL documentation
-->
...
...
@@ -29,7 +29,7 @@ REINDEX { DATABASE | TABLE | INDEX } <replaceable class="PARAMETER">name</replac
<para>
<command>REINDEX</command> rebuilds an index based on the data
stored in the table, replacing the old copy of the index. There are
stored in the
index's
table, replacing the old copy of the index. There are
two main reasons to use <command>REINDEX</command>:
<itemizedlist>
...
...
@@ -98,6 +98,8 @@ REINDEX { DATABASE | TABLE | INDEX } <replaceable class="PARAMETER">name</replac
<para>
The name of the specific database, table, or index to be
reindexed. Table and index names may be schema-qualified.
Presently, <command>REINDEX DATABASE</> can only reindex the current
database, so its parameter must match the current database's name.
</para>
</listitem>
</varlistentry>
...
...
@@ -119,13 +121,7 @@ REINDEX { DATABASE | TABLE | INDEX } <replaceable class="PARAMETER">name</replac
<para>
If you suspect corruption of an index on a user table, you can
simply rebuild that index, or all indexes on the table, using
<command>REINDEX INDEX</command> or <command>REINDEX
TABLE</command>. Another approach to dealing with a corrupted
user-table index is just to drop and recreate it. This may in fact
be preferable if you would like to maintain some semblance of
normal operation on the table meanwhile. <command>REINDEX</>
acquires exclusive lock on the table, while <command>CREATE
INDEX</> only locks out writes not reads of the table.
<command>REINDEX INDEX</command> or <command>REINDEX TABLE</command>.
</para>
<para>
...
...
@@ -187,6 +183,22 @@ REINDEX { DATABASE | TABLE | INDEX } <replaceable class="PARAMETER">name</replac
a btree</> errors.)
</para>
<para>
<command>REINDEX</command> is similar to a drop and recreate of the index
in that the index contents are rebuilt from scratch. However, the locking
considerations are rather different. <command>REINDEX</> locks out writes
but not reads of the index's parent table. It also takes an exclusive lock
on the specific index being processed, which will block reads that attempt
to use that index. In contrast, <command>DROP INDEX</> momentarily takes
exclusive lock on the parent table, blocking both writes and reads. The
subsequent <command>CREATE INDEX</> locks out writes but not reads; since
the index is not there, no read will attempt to use it, meaning that there
will be no blocking but reads may be forced into expensive sequential
scans. Another important point is that the drop/create approach
invalidates any cached query plans that use the index, while
<command>REINDEX</> does not.
</para>
<para>
Prior to <productname>PostgreSQL</productname> 7.4, <command>REINDEX
TABLE</> did not automatically process TOAST tables, and so those had
...
...
doc/src/sgml/runtime.sgml
View file @
e48b9b55
<!--
$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.2
89 2004/10/17 22:01:49
tgl Exp $
$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.2
90 2004/11/04 19:08:30
tgl Exp $
-->
<Chapter Id="runtime">
...
...
@@ -583,7 +583,7 @@ SET ENABLE_SEQSCAN TO OFF;
<listitem>
<para>
Specifies the main server configuration file
(customarily called <filename>postgresql.conf</>).
(customarily called <filename>postgresql.conf</>).
This option can only be set on the postmaster command line.
</para>
</listitem>
...
...
@@ -615,8 +615,8 @@ SET ENABLE_SEQSCAN TO OFF;
<listitem>
<para>
Specifies that the <application>postmaster</> should create an
additional process-id (PID) file for use by server administration
programs.
additional process-id (PID) file for use by server administration
programs.
This option can only be set at server start.
</para>
</listitem>
...
...
@@ -1666,9 +1666,20 @@ archive_command = 'copy "%p" /mnt/server/archivedir/"%f"' # Win32
<listitem>
<para>
Sets the planner's assumption about the effective size of the
disk cache (that is, the portion of the kernel's disk cache
that will be used for <productname>PostgreSQL</productname>
data files). This is measured in disk pages, which are
disk cache that is available to a single index scan. This is
factored into estimates of the cost of using an index; a higher
value makes it more likely index scans will be used, a lower
value makes it more likely sequential scans will be used. When
setting this parameter you should consider both
<productname>PostgreSQL</productname>'s shared buffers and the
portion of the kernel's disk cache that will be used for
<productname>PostgreSQL</productname> data files. Also, take into
account the expected number of concurrent queries using different
indexes, since they will have to share the available space.
This parameter has no effect on the size of shared memory
allocated by PostgreSQL, nor does it reserve kernel disk cache;
it is used only for estimation purposes.
The value is measured in disk pages, which are
normally 8192 bytes each. The default is 1000.
</para>
</listitem>
...
...
@@ -1678,7 +1689,7 @@ archive_command = 'copy "%p" /mnt/server/archivedir/"%f"' # Win32
<term><varname>random_page_cost</varname> (<type>floating point</type>)</term>
<listitem>
<para>
Sets the
query
planner's estimate of the cost of a
Sets the planner's estimate of the cost of a
nonsequentially fetched disk page. This is measured as a
multiple of the cost of a sequential page fetch. A higher
value makes it more likely a sequential scan will be used, a
...
...
@@ -1692,7 +1703,7 @@ archive_command = 'copy "%p" /mnt/server/archivedir/"%f"' # Win32
<term><varname>cpu_tuple_cost</varname> (<type>floating point</type>)</term>
<listitem>
<para>
Sets the
query
planner's estimate of the cost of processing
Sets the planner's estimate of the cost of processing
each row during a query. This is measured as a fraction of
the cost of a sequential page fetch. The default is 0.01.
</para>
...
...
@@ -1703,7 +1714,7 @@ archive_command = 'copy "%p" /mnt/server/archivedir/"%f"' # Win32
<term><varname>cpu_index_tuple_cost</varname> (<type>floating point</type>)</term>
<listitem>
<para>
Sets the
query
planner's estimate of the cost of processing
Sets the planner's estimate of the cost of processing
each index row during an index scan. This is measured as a
fraction of the cost of a sequential page fetch. The default
is 0.001.
...
...
src/backend/utils/misc/guc.c
View file @
e48b9b55
...
...
@@ -10,7 +10,7 @@
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.24
6 2004/10/22 19:48:19
tgl Exp $
* $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.24
7 2004/11/04 19:08:42
tgl Exp $
*
*--------------------------------------------------------------------
*/
...
...
@@ -1344,7 +1344,7 @@ static struct config_real ConfigureNamesReal[] =
"pages, which are normally 8 kB each."
)
},
&
effective_cache_size
,
DEFAULT_EFFECTIVE_CACHE_SIZE
,
0
,
DBL_MAX
,
NULL
,
NULL
DEFAULT_EFFECTIVE_CACHE_SIZE
,
1
,
DBL_MAX
,
NULL
,
NULL
},
{
{
"random_page_cost"
,
PGC_USERSET
,
QUERY_TUNING_COST
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment