This parameter specifies the default table access method to use when
creating tables or materialized views if the <command>CREATE</command>
command does not explicitly specify an access method, or when
- <command>SELECT ... INTO</command> is used, which does not allow to
- specify a table access method. The default is <literal>heap</literal>.
+ <command>SELECT ... INTO</command> is used, which does not allow
+ specifying a table access method. The default is <literal>heap</literal>.
</para>
</listitem>
</varlistentry>
represent independent objects, then <literal>RESTRICT</literal> or
<literal>NO ACTION</literal> is more appropriate; an application that
actually wants to delete both objects would then have to be explicit about
- this and run two delete options. In the above example, order items are
+ this and run two delete commands. In the above example, order items are
part of an order, and it is convenient if they are deleted automatically
if an order is deleted. But products and orders are different things, and
so making a deletion of a product automatically cause the deletion of some
holding an <literal>ACCESS EXCLUSIVE</literal> lock on that partition.
It is recommended to drop the now-redundant <literal>CHECK</literal>
constraint after the <command>ATTACH PARTITION</command> is complete. If
- the table being attached is itself a partitioned table then each of its
+ the table being attached is itself a partitioned table, then each of its
sub-partitions will be recursively locked and scanned until either a
suitable <literal>CHECK</literal> constraint is encountered or the leaf
partitions are reached.
the partition being attached. This operation will be performed whilst
holding an <literal>ACCESS EXCLUSIVE</literal> lock on the <literal>
DEFAULT</literal> partition. If the <literal>DEFAULT</literal> partition
- is itself a partitioned table then each of its partitions will be
+ is itself a partitioned table, then each of its partitions will be
recursively checked in the same way as the table being attached, as
mentioned above.
</para>
</para></entry>
</row>
+ <row>
+ <entry role="func_table_entry"><para role="func_signature">
+ <indexterm>
+ <primary>pg_ls_logicalmapdir</primary>
+ </indexterm>
+ <function>pg_ls_logicalmapdir</function> ()
+ <returnvalue>setof record</returnvalue>
+ ( <parameter>name</parameter> <type>text</type>,
+ <parameter>size</parameter> <type>bigint</type>,
+ <parameter>modification</parameter> <type>timestamp with time zone</type> )
+ </para>
+ <para>
+ Returns the name, size, and last modification time (mtime) of each
+ ordinary file in the server's <filename>pg_logical/mappings</filename>
+ directory. Filenames beginning with a dot, directories, and other
+ special files are excluded.
+ </para>
+ <para>
+ This function is restricted to superusers and members of
+ the <literal>pg_monitor</literal> role by default, but other users can
+ be granted EXECUTE to run the function.
+ </para></entry>
+ </row>
+
+ <row>
+ <entry role="func_table_entry"><para role="func_signature">
+ <indexterm>
+ <primary>pg_ls_logicalsnapdir</primary>
+ </indexterm>
+ <function>pg_ls_logicalsnapdir</function> ()
+ <returnvalue>setof record</returnvalue>
+ ( <parameter>name</parameter> <type>text</type>,
+ <parameter>size</parameter> <type>bigint</type>,
+ <parameter>modification</parameter> <type>timestamp with time zone</type> )
+ </para>
+ <para>
+ Returns the name, size, and last modification time (mtime) of each
+ ordinary file in the server's <filename>pg_logical/snapshots</filename>
+ directory. Filenames beginning with a dot, directories, and other
+ special files are excluded.
+ </para>
+ <para>
+ This function is restricted to superusers and members of
+ the <literal>pg_monitor</literal> role by default, but other users can
+ be granted EXECUTE to run the function.
+ </para></entry>
+ </row>
+
+ <row>
+ <entry role="func_table_entry"><para role="func_signature">
+ <indexterm>
+ <primary>pg_ls_replslotdir</primary>
+ </indexterm>
+ <function>pg_ls_replslotdir</function> ( <parameter>slot_name</parameter> <type>text</type> )
+ <returnvalue>setof record</returnvalue>
+ ( <parameter>name</parameter> <type>text</type>,
+ <parameter>size</parameter> <type>bigint</type>,
+ <parameter>modification</parameter> <type>timestamp with time zone</type> )
+ </para>
+ <para>
+ Returns the name, size, and last modification time (mtime) of each
+ ordinary file in the server's <filename>pg_replslot/slot_name</filename>
+ directory, where <parameter>slot_name</parameter> is the name of the
+ replication slot provided as input of the function. Filenames beginning
+ with a dot, directories, and other special files are excluded.
+ </para>
+ <para>
+ This function is restricted to superusers and members of
+ the <literal>pg_monitor</literal> role by default, but other users can
+ be granted EXECUTE to run the function.
+ </para></entry>
+ </row>
+
<row>
<entry role="func_table_entry"><para role="func_signature">
<indexterm>
</para></entry>
</row>
- <row>
- <entry role="func_table_entry"><para role="func_signature">
- <indexterm>
- <primary>pg_ls_logicalsnapdir</primary>
- </indexterm>
- <function>pg_ls_logicalsnapdir</function> ()
- <returnvalue>setof record</returnvalue>
- ( <parameter>name</parameter> <type>text</type>,
- <parameter>size</parameter> <type>bigint</type>,
- <parameter>modification</parameter> <type>timestamp with time zone</type> )
- </para>
- <para>
- Returns the name, size, and last modification time (mtime) of each
- ordinary file in the server's <filename>pg_logical/snapshots</filename>
- directory. Filenames beginning with a dot, directories, and other
- special files are excluded.
- </para>
- <para>
- This function is restricted to superusers and members of
- the <literal>pg_monitor</literal> role by default, but other users can
- be granted EXECUTE to run the function.
- </para></entry>
- </row>
-
- <row>
- <entry role="func_table_entry"><para role="func_signature">
- <indexterm>
- <primary>pg_ls_logicalmapdir</primary>
- </indexterm>
- <function>pg_ls_logicalmapdir</function> ()
- <returnvalue>setof record</returnvalue>
- ( <parameter>name</parameter> <type>text</type>,
- <parameter>size</parameter> <type>bigint</type>,
- <parameter>modification</parameter> <type>timestamp with time zone</type> )
- </para>
- <para>
- Returns the name, size, and last modification time (mtime) of each
- ordinary file in the server's <filename>pg_logical/mappings</filename>
- directory. Filenames beginning with a dot, directories, and other
- special files are excluded.
- </para>
- <para>
- This function is restricted to superusers and members of
- the <literal>pg_monitor</literal> role by default, but other users can
- be granted EXECUTE to run the function.
- </para></entry>
- </row>
-
- <row>
- <entry role="func_table_entry"><para role="func_signature">
- <indexterm>
- <primary>pg_ls_replslotdir</primary>
- </indexterm>
- <function>pg_ls_replslotdir</function> ( <parameter>slot_name</parameter> <type>text</type> )
- <returnvalue>setof record</returnvalue>
- ( <parameter>name</parameter> <type>text</type>,
- <parameter>size</parameter> <type>bigint</type>,
- <parameter>modification</parameter> <type>timestamp with time zone</type> )
- </para>
- <para>
- Returns the name, size, and last modification time (mtime) of each
- ordinary file in the server's <filename>pg_replslot/slot_name</filename>
- directory, where <parameter>slot_name</parameter> is the name of the
- replication slot provided as input of the function. Filenames beginning
- with a dot, directories, and other special files are excluded.
- </para>
- <para>
- This function is restricted to superusers and members of
- the <literal>pg_monitor</literal> role by default, but other users can
- be granted EXECUTE to run the function.
- </para></entry>
- </row>
</tbody>
</tgroup>
</table>
</glossdef>
</glossentry>
- <glossentry id="glossary-startup-process">
- <glossterm>Startup process</glossterm>
- <glossdef>
- <para>
- An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
- that replays WAL during crash recovery and in a
- <glossterm linkend="glossary-replication">physical replica</glossterm>.
- </para>
- <para>
- (The name is historical: the startup process was named before
- replication was implemented; the name refers to its task as it
- relates to the server startup following a crash.)
- </para>
- </glossdef>
- </glossentry>
-
<glossentry id="glossary-sql-object">
<glossterm>SQL object</glossterm>
<glossdef>
<glosssee otherterm="glossary-replica" />
</glossentry>
+ <glossentry id="glossary-startup-process">
+ <glossterm>Startup process</glossterm>
+ <glossdef>
+ <para>
+ An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
+ that replays WAL during crash recovery and in a
+ <glossterm linkend="glossary-replication">physical replica</glossterm>.
+ </para>
+ <para>
+ (The name is historical: the startup process was named before
+ replication was implemented; the name refers to its task as it
+ relates to the server startup following a crash.)
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id="glossary-stats-collector">
<glossterm>Stats collector (process)</glossterm>
<glossdef>
access method blocks <acronym>HOT</acronym> when an indexed attribute is
updated. Access methods without pointers to individual tuples (like
<acronym>BRIN</acronym>) may allow <acronym>HOT</acronym> even in this
- case. This does not apply to attributes referenced in index predicates,
+ case. This does not apply to attributes referenced in index predicates;
an update of such attribute always disables <acronym>HOT</acronym>.
</para>
<title>Multivariate MCV Lists</title>
<para>
- Another type of statistics stored for each column are most-common value
+ Another type of statistic stored for each column are most-common value
lists. This allows very accurate estimates for individual columns, but
may result in significant misestimates for queries with conditions on
multiple columns.
of any length and contain even non-ASCII characters. However when
it's passed to and used as <varname>application_name</varname>
in a foreign server, note that it will be truncated to less than
- <symbol>NAMEDATALEN</symbol> characters and any characters other
- than printable ASCII ones in it will be replaced with question
+ <symbol>NAMEDATALEN</symbol> characters and anything other than
+ than printable ASCII characters will be replaced with question
marks (<literal>?</literal>).
See <xref linkend="guc-application-name"/> for details.
</para>
<tbody>
<row>
<entry><literal>%a</literal></entry>
- <entry>Application name in local server</entry>
+ <entry>Application name on local server</entry>
</row>
<row>
<entry><literal>%u</literal></entry>
- <entry>User name in local server</entry>
+ <entry>User name on local server</entry>
</row>
<row>
<entry><literal>%d</literal></entry>
- <entry>Database name in local server</entry>
+ <entry>Database name on local server</entry>
</row>
<row>
<entry><literal>%p</literal></entry>
- <entry>Process ID of backend in local server</entry>
+ <entry>Process ID of backend on local server</entry>
</row>
<row>
<entry><literal>%%</literal></entry>
</term>
<listitem>
<para>
- Read some information associated to a replication slot. Returns a tuple
+ Read some information associated with a replication slot. Returns a tuple
with <literal>NULL</literal> values if the replication slot does not
exist. This command is currently only supported for physical replication
slots.
<term><literal>restart_tli</literal> (<type>int8</type>)</term>
<listitem>
<para>
- The timeline ID associated to <literal>restart_lsn</literal>,
+ The timeline ID associated with <literal>restart_lsn</literal>,
following the current timeline history.
</para>
</listitem>
streaming starts on timeline <replaceable class="parameter">tli</replaceable>;
otherwise, the server's current timeline is selected. The server can
reply with an error, for example if the requested section of WAL has already
- been recycled. On success, server responds with a CopyBothResponse
+ been recycled. On success, the server responds with a CopyBothResponse
message, and then starts to stream WAL to the frontend.
</para>
<para>
The server can reply with an error, for example if the
- slot does not exist. On success, server responds with a CopyBothResponse
+ slot does not exist. On success, the server responds with a CopyBothResponse
message, and then starts to stream WAL to the frontend.
</para>
<para>
This section describes the detailed format of each logical replication
message. These messages are either returned by the replication slot SQL
-interface or are sent by a walsender. In the case of a walsender they are
+interface or are sent by a walsender. In the case of a walsender, they are
encapsulated inside replication protocol WAL messages as described in
<xref linkend="protocol-replication"/>, and generally obey the same message
flow as physical replication.
tables/schemas that were present in the publication will be removed. The
<literal>ADD</literal> and <literal>DROP</literal> clauses will add and
remove one or more tables/schemas from the publication. Note that adding
- tables/schemas to a publication that is already subscribed to will require a
+ tables/schemas to a publication that is already subscribed to will require an
<literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal> action on the
subscribing side in order to become effective.
</para>
<para>
Adding/Setting a table that is part of schema specified in
<literal>ALL TABLES IN SCHEMA</literal>, adding/setting a schema to a
- publication that already has a table that is part of specified schema or
+ publication that already has a table that is part of the specified schema or
adding/setting a table to a publication that already has a table's schema as
part of the specified schema is not supported.
</para>
<para>
When a partitioned table is published via schema level publication, all
- of its existing and future partitions irrespective of it being from the
- publication schema or not are implicitly considered to be part of the
- publication. So, even operations that are performed directly on a
+ of its existing and future partitions are implicitly considered to be part of the
+ publication, regardless of whether they are from the publication schema or not.
+ So, even operations that are performed directly on a
partition are also published via publications that its ancestors are
part of.
</para>
<para>
If <literal>FOR TABLE</literal>, <literal>FOR ALL TABLES</literal> or
- <literal>FOR ALL TABLES IN SCHEMA</literal> is not specified, then the
+ <literal>FOR ALL TABLES IN SCHEMA</literal> are not specified, then the
publication starts out with an empty set of tables. That is useful if
tables or schemas are to be added later.
</para>
<listitem>
<para>
First, scan the directory where the WAL segment files are written and
- find the newest completed segment file, using as starting point the
- beginning of the next WAL segment file. This is calculated independently
- on the compression method used to compress each segment.
+ find the newest completed segment file, using as the starting point the
+ beginning of the next WAL segment file.
</para>
</listitem>
If a starting point cannot be calculated with the previous method,
and if a replication slot is used, an extra
<command>READ_REPLICATION_SLOT</command> command is issued to retrieve
- the slot's <literal>restart_lsn</literal> to use as starting point.
+ the slot's <literal>restart_lsn</literal> to use as the starting point.
This option is only available when streaming write-ahead logs from
<productname>PostgreSQL</productname> 15 and up.
</para>
<para>
If a starting point cannot be calculated with the previous method,
the latest WAL flush location is used as reported by the server from
- a <literal>IDENTIFY_SYSTEM</literal> command.
+ an <literal>IDENTIFY_SYSTEM</literal> command.
</para>
</listitem>
</orderedlist>
<listitem>
<para>
Enables compression of write-ahead logs using the specified method.
- Supported values <literal>gzip</literal>, <literal>lz4</literal>
+ Supported values are <literal>gzip</literal>, <literal>lz4</literal>
(if <productname>PostgreSQL</productname> was compiled with
<option>--with-lz4</option>), and <literal>none</literal>.
</para>
data is generated in <command>pgbench</command> client and then
sent to the server. This uses the client/server bandwidth
extensively through a <command>COPY</command>.
- <command>pgbench</command> uses the FREEZE option with 14 or later
- versions of <productname>PostgreSQL</productname> to speed up
+ <command>pgbench</command> uses the FREEZE option with version 14 or later
+ of <productname>PostgreSQL</productname> to speed up
subsequent <command>VACUUM</command>, unless partitions are enabled.
Using <literal>g</literal> causes logging to print one message
every 100,000 rows while generating data for the
of the upgraded cluster to be written safely to disk. This option
causes <command>pg_upgrade</command> to return without waiting, which
is faster, but means that a subsequent operating system crash can leave
- the synchronized data directory corrupt. Generally, this option is
+ the data directory corrupt. Generally, this option is
useful for testing but should not be used on a production
installation.
</para>
<para>
In contrast to <command>CREATE TABLE AS</command>, <command>SELECT
- INTO</command> does not allow to specify properties like a table's access
+ INTO</command> does not allow specifying properties like a table's access
method with <xref linkend="sql-createtable-method" /> or the table's
tablespace with <xref linkend="sql-createtable-tablespace" />. Use
<command>CREATE TABLE AS</command> if necessary. Therefore, the default table
GinScanKey key = so->keys + i;
/*
- * If we're considering a lossy page, skip excludeOnly keys, They
+ * If we're considering a lossy page, skip excludeOnly keys. They
* can't exclude the whole page anyway.
*/
if (ItemPointerIsLossyPage(item) && key->excludeOnly)
/*
* Build a heap tuple representing the configured REPLICA IDENTITY to represent
- * the old tuple in a UPDATE or DELETE.
+ * the old tuple in an UPDATE or DELETE.
*
* Returns NULL if there's no need to log an identity or if there's no suitable
* key defined.
*/
if (LogwrtResult.Flush < WriteRqst.Flush &&
LogwrtResult.Flush < LogwrtResult.Write)
-
{
/*
* Could get here without iterating above loop, in which case we might
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * pg_publication.c
+ * src/backend/catalog/pg_publication.c
*
*-------------------------------------------------------------------------
*/
RelationGetRelationName(OldHeap))));
/*
- * Hand of the actual copying to AM specific function, the generic code
+ * Hand off the actual copying to AM specific function, the generic code
* cannot know how to deal with visibility across AMs. Note that this
* routine is allowed to set FreezeXid / MultiXactCutoff to different
* values (e.g. because the AM doesn't use freezing).
Assert(availchars > 0); /* else caller chose a bad label */
/*
- * If we must truncate, preferentially truncate the longer name. This
+ * If we must truncate, preferentially truncate the longer name. This
* logic could be expressed without a loop, but it's simple and obvious as
* a loop.
*/
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * publicationcmds.c
+ * src/backend/commands/publicationcmds.c
*
*-------------------------------------------------------------------------
*/
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * subscriptioncmds.c
+ * src/backend/commands/subscriptioncmds.c
*
*-------------------------------------------------------------------------
*/
*
*
* IDENTIFICATION
- * src/backend/optimizer/path/appendinfo.c
+ * src/backend/optimizer/util/appendinfo.c
*
*-------------------------------------------------------------------------
*/
*
*
* IDENTIFICATION
- * src/backend/optimizer/path/inherit.c
+ * src/backend/optimizer/util/inherit.c
*
*-------------------------------------------------------------------------
*/
* Copyright (c) 2012-2022, PostgreSQL Global Development Group
*
* IDENTIFICATION
- * src/backend/replication/logicalfuncs.c
+ * src/backend/replication/logical/logicalfuncs.c
*-------------------------------------------------------------------------
*/
*
*
* IDENTIFICATION
- * src/backend/replication/reorderbuffer.c
+ * src/backend/replication/logical/reorderbuffer.c
*
* NOTES
* This module gets handed individual pieces of transactions in the order
* Copyright (c) 2012-2022, PostgreSQL Global Development Group
*
* IDENTIFICATION
- * src/backend/replication/snapbuild.c
+ * src/backend/replication/logical/snapbuild.c
*
*-------------------------------------------------------------------------
*/
/*
* Set the current command being applied. Since this function can be
- * called recusively when applying spooled changes, save the current
+ * called recursively when applying spooled changes, save the current
* command.
*/
saved_command = apply_error_callback_arg.command;
pgstat_report_activity(STATE_IDLE, NULL);
/*
- * Push apply error context callback. Fields will be filled during
- * applying a change.
+ * Push apply error context callback. Fields will be filled while applying
+ * a change.
*/
errcallback.callback = apply_error_callback;
errcallback.previous = error_context_stack;
}
ereport(DEBUG1,
- (errmsg("logical replication apply worker for subscription \"%s\" two_phase is %s.",
+ (errmsg("logical replication apply worker for subscription \"%s\" two_phase is %s",
MySubscription->name,
MySubscription->twophasestate == LOGICALREP_TWOPHASE_STATE_DISABLED ? "DISABLED" :
MySubscription->twophasestate == LOGICALREP_TWOPHASE_STATE_PENDING ? "PENDING" :
* build_attnums_array
* Transforms a bitmap into an array of AttrNumber values.
*
- * This is used for extended statistics only, so all the attribute must be
+ * This is used for extended statistics only, so all the attributes must be
* user-defined. That means offsetting by FirstLowInvalidHeapAttributeNumber
* is not necessary here (and when querying the bitmap).
*/
* This bound is at most 25, and approaches 0 as n approaches 0 or N. The
* case where n approaches 0 cannot happen in practice, since the sample
* size is at least 300. The case where n approaches N corresponds to
- * sampling the whole the table, in which case it is reasonable to keep
+ * sampling the whole table, in which case it is reasonable to keep
* the whole MCV list (have no lower bound), so it makes sense to apply
* this formula for all inputs, even though the above derivation is
* technically only valid when the right hand side is at least around 10.
/* Copy the first chunk of groups into the result. */
for (i = 0; i < nitems; i++)
{
- /* just pointer to the proper place in the list */
+ /* just point to the proper place in the list */
MCVItem *item = &mcvlist->items[i];
item->values = (Datum *) palloc(sizeof(Datum) * numattrs);
/*
* statext_mcv_load
- * Load the MCV list for the indicated pg_statistic_ext tuple.
+ * Load the MCV list for the indicated pg_statistic_ext_data tuple.
*/
MCVList *
statext_mcv_load(Oid mvoid, bool inh)
Assert(mcvlist->nitems <= STATS_MCVLIST_MAX_ITEMS);
matches = palloc(sizeof(bool) * mcvlist->nitems);
- memset(matches, !is_or, sizeof(bool) * mcvlist->nitems);
+ memset(matches, !is_or, sizeof(bool) * mcvlist->nitems);
/*
* Loop through the list of clauses, and for each of them evaluate all the
}
/*
-
* ProcessSyncRequests() -- Process queued fsync requests.
*/
void
/* ----------
- * progress.c
+ * backend_progress.c
*
* Command progress reporting infrastructure.
*
* Copyright (c) 2001-2022, PostgreSQL Global Development Group
*
- * src/backend/postmaster/progress.c
+ * src/backend/utils/activity/backend_progress.c
* ----------
*/
#include "postgres.h"
*
*
* IDENTIFICATION
- * src/backend/postmaster/backend_status.c
+ * src/backend/utils/activity/backend_status.c
* ----------
*/
#include "postgres.h"
*
*
* IDENTIFICATION
- * src/backend/postmaster/wait_event.c
+ * src/backend/utils/activity/wait_event.c
*
* NOTES
*
/*
* When printing kinds we ignore expression statistics,
- * which is used only internally and can't be specified by
- * user. We don't print the kinds when either none are
+ * which are used only internally and can't be specified
+ * by user. We don't print the kinds when none are
* specified (in which case it has to be statistics on a
* single expr) or when all are specified (in which case
* we assume it's expanded by CREATE STATISTICS).
* Copyright (c) 2015-2022, PostgreSQL Global Development Group
*
* IDENTIFICATION
- * pgoutput.h
+ * src/include/replication/pgoutput.h
*
*-------------------------------------------------------------------------
*/
/*-------------------------------------------------------------------------
*
- * dynahash
+ * dynahash.h
* POSTGRES dynahash.h file definitions
*
*
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * src/include/utils/dynahash.h
+ * IDENTIFICATION
+ * src/include/utils/dynahash.h
*
*-------------------------------------------------------------------------
*/
SAVETMPS;
/*-------------------------
- * Unfortunately, while HeUTF8 is true for most things > 256, for values
+ * Unfortunately, while HeUTF8 is true for most things > 256, for values
* 128..255 it's not, but perl will treat them as unicode code points if
* the utf8 flag is not set ( see The "Unicode Bug" in perldoc perlunicode
* for more)
/*-------------------------------------------------------------------------
*
- * src/port/pgcheckdir.c
+ * pgcheckdir.c
*
* A simple subroutine to check whether a directory exists and is empty or not.
* Useful in both initdb and the backend.
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
+ * IDENTIFICATION
+ * src/port/pgcheckdir.c
*-------------------------------------------------------------------------
*/
CREATE TABLE foo (a oid, b oid, c int, FOREIGN KEY (a, b, c) REFERENCES pg_description);
ERROR: permission denied: "pg_description" is a system catalog
-- RangeVarCallbackOwnsRelation()
-CREATE INDEX pg_descripton_test_index ON pg_description (description);
+CREATE INDEX pg_description_test_index ON pg_description (description);
ERROR: permission denied: "pg_description" is a system catalog
-- RangeVarCallbackForAlterRelation()
ALTER TABLE pg_description RENAME TO pg_comment;
ROLLBACK;
-- RangeVarCallbackOwnsRelation()
BEGIN;
-CREATE INDEX pg_descripton_test_index ON pg_description (description);
+CREATE INDEX pg_description_test_index ON pg_description (description);
ROLLBACK;
-- RangeVarCallbackForAlterRelation()
BEGIN;
CREATE TABLE foo (a oid, b oid, c int, FOREIGN KEY (a, b, c) REFERENCES pg_description);
-- RangeVarCallbackOwnsRelation()
-CREATE INDEX pg_descripton_test_index ON pg_description (description);
+CREATE INDEX pg_description_test_index ON pg_description (description);
-- RangeVarCallbackForAlterRelation()
ALTER TABLE pg_description RENAME TO pg_comment;
-- RangeVarCallbackOwnsRelation()
BEGIN;
-CREATE INDEX pg_descripton_test_index ON pg_description (description);
+CREATE INDEX pg_description_test_index ON pg_description (description);
ROLLBACK;
-- RangeVarCallbackForAlterRelation()
(1 row)
-- The entire output of pg_backend_memory_contexts is not stable,
--- we test only the existance and basic condition of TopMemoryContext.
+-- we test only the existence and basic condition of TopMemoryContext.
select name, ident, parent, level, total_bytes >= free_bytes
from pg_backend_memory_contexts where level = 0;
name | ident | parent | level | ?column?
select count(*) >= 0 as ok from pg_available_extensions;
-- The entire output of pg_backend_memory_contexts is not stable,
--- we test only the existance and basic condition of TopMemoryContext.
+-- we test only the existence and basic condition of TopMemoryContext.
select name, ident, parent, level, total_bytes >= free_bytes
from pg_backend_memory_contexts where level = 0;
$ENV{REGRESS_OUTPUTDIR} = "$topdir/src/test/recovery/tmp_check";
- my $mstat = 0;
my $dir = "$topdir/src/test/recovery";
my $status = tap_check($dir);
exit $status if $status;
# list is returned if the module does not need to run anything.
sub fetchTests
{
-
my $handle;
open($handle, '<', "GNUmakefile")
|| open($handle, '<', "Makefile")
sub usage
{
print STDERR
- "Usage: vcregress.pl <mode> [ <arg>]\n\n",
+ "Usage: vcregress.pl <mode> [<arg>]\n\n",
"Options for <mode>:\n",
" bincheck run tests of utilities in src/bin/\n",
" check deploy instance and run regression tests on it\n",