mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Change CREATE STATISTICS syntax
Previously, we had the WITH clause in the middle of the command, where you'd specify both generic options as well as statistic types. Few people liked this, so this commit changes it to remove the WITH keyword from that clause and makes it accept statistic types only. (We currently don't have any generic options, but if we invent in the future, we will gain a new WITH clause, probably at the end of the command). Also, the column list is now specified without parens, which makes the whole command look more similar to a SELECT command. This change will let us expand the command to supporting expressions (not just columns names) as well as multiple tables and their join conditions. Tom added lots of code comments and fixed some parts of the CREATE STATISTICS reference page, too; more changes in this area are forthcoming. He also fixed a potential problem in the alter_generic regression test, reducing verbosity on a cascaded drop to avoid dependency on message ordering, as we do in other tests. Tom also closed a security bug: we documented that table ownership was required in order to create a statistics object on it, but didn't actually implement it. Implement tab-completion for statistics objects. This can stand some more improvement. Authors: Alvaro Herrera, with lots of cleanup by Tom Lane Discussion: https://postgr.es/m/20170420212426.ltvgyhnefvhixm6i@alvherre.pgsql
This commit is contained in:
@@ -29,9 +29,9 @@ DROP STATISTICS [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceable>
|
||||
<title>Description</title>
|
||||
|
||||
<para>
|
||||
<command>DROP STATISTICS</command> removes statistics from the database.
|
||||
Only the statistics owner, the schema owner, and superuser can drop a
|
||||
statistics.
|
||||
<command>DROP STATISTICS</command> removes statistics object(s) from the
|
||||
database. Only the statistics object's owner, the schema owner, or a
|
||||
superuser can drop a statistics object.
|
||||
</para>
|
||||
|
||||
</refsect1>
|
||||
@@ -44,8 +44,8 @@ DROP STATISTICS [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceable>
|
||||
<term><literal>IF EXISTS</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Do not throw an error if the statistics do not exist. A notice is
|
||||
issued in this case.
|
||||
Do not throw an error if the statistics object does not exist. A notice
|
||||
is issued in this case.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -54,7 +54,7 @@ DROP STATISTICS [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceable>
|
||||
<term><replaceable class="PARAMETER">name</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name (optionally schema-qualified) of the statistics to drop.
|
||||
The name (optionally schema-qualified) of the statistics object to drop.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -66,7 +66,7 @@ DROP STATISTICS [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceable>
|
||||
<title>Examples</title>
|
||||
|
||||
<para>
|
||||
To destroy two statistics objects on different schemas, without failing
|
||||
To destroy two statistics objects in different schemas, without failing
|
||||
if they don't exist:
|
||||
|
||||
<programlisting>
|
||||
@@ -82,7 +82,7 @@ DROP STATISTICS IF EXISTS
|
||||
<title>Compatibility</title>
|
||||
|
||||
<para>
|
||||
There's no <command>DROP STATISTICS</command> command in the SQL standard.
|
||||
There is no <command>DROP STATISTICS</command> command in the SQL standard.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
Reference in New Issue
Block a user