aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2023-01-31 14:32:24 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2023-01-31 14:32:24 -0500
commit856ca51a23b56df6aab3ee9bffc66334b79be355 (patch)
treec038b1e4218d91f1e3eea7a034d73a9b5ee5d374
parenteae0e20deffb0a73f7cb0e94746f94a1347e71b1 (diff)
downloadpostgresql-856ca51a23b56df6aab3ee9bffc66334b79be355.tar.gz
postgresql-856ca51a23b56df6aab3ee9bffc66334b79be355.zip
Doc: clarify use of NULL to drop comments and security labels.
This was only mentioned in the description of the text/label, which are marked as being in quotes in the synopsis, which can cause confusion (as witnessed on IRC). Also separate the literal and NULL cases in the parameter list, per suggestion from Tom Lane. Also add an example of dropping a security label. Dagfinn Ilmari Mannsåker, with some tweaks by me Discussion: https://postgr.es/m/87sffqk4zp.fsf@wibble.ilmari.org
-rw-r--r--doc/src/sgml/ref/comment.sgml16
-rw-r--r--doc/src/sgml/ref/security_label.sgml29
2 files changed, 34 insertions, 11 deletions
diff --git a/doc/src/sgml/ref/comment.sgml b/doc/src/sgml/ref/comment.sgml
index 7499da1d62a..5b43c56b133 100644
--- a/doc/src/sgml/ref/comment.sgml
+++ b/doc/src/sgml/ref/comment.sgml
@@ -66,7 +66,7 @@ COMMENT ON
TRIGGER <replaceable class="parameter">trigger_name</replaceable> ON <replaceable class="parameter">table_name</replaceable> |
TYPE <replaceable class="parameter">object_name</replaceable> |
VIEW <replaceable class="parameter">object_name</replaceable>
-} IS '<replaceable class="parameter">text</replaceable>'
+} IS { <replaceable class="parameter">string_literal</replaceable> | NULL }
<phrase>where <replaceable>aggregate_signature</replaceable> is:</phrase>
@@ -263,11 +263,19 @@ COMMENT ON
</varlistentry>
<varlistentry>
- <term><replaceable class="parameter">text</replaceable></term>
+ <term><replaceable class="parameter">string_literal</replaceable></term>
<listitem>
<para>
- The new comment, written as a string literal; or <literal>NULL</literal>
- to drop the comment.
+ The new comment contents, written as a string literal.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>NULL</literal></term>
+ <listitem>
+ <para>
+ Write <literal>NULL</literal> to drop the comment.
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/ref/security_label.sgml b/doc/src/sgml/ref/security_label.sgml
index 20a839ff0c3..5f96b7e1ded 100644
--- a/doc/src/sgml/ref/security_label.sgml
+++ b/doc/src/sgml/ref/security_label.sgml
@@ -44,7 +44,7 @@ SECURITY LABEL [ FOR <replaceable class="parameter">provider</replaceable> ] ON
TABLESPACE <replaceable class="parameter">object_name</replaceable> |
TYPE <replaceable class="parameter">object_name</replaceable> |
VIEW <replaceable class="parameter">object_name</replaceable>
-} IS '<replaceable class="parameter">label</replaceable>'
+} IS { <replaceable class="parameter">string_literal</replaceable> | NULL }
<phrase>where <replaceable>aggregate_signature</replaceable> is:</phrase>
@@ -178,11 +178,19 @@ SECURITY LABEL [ FOR <replaceable class="parameter">provider</replaceable> ] ON
</varlistentry>
<varlistentry>
- <term><replaceable class="parameter">label</replaceable></term>
+ <term><replaceable class="parameter">string_literal</replaceable></term>
<listitem>
<para>
- The new security label, written as a string literal; or <literal>NULL</literal>
- to drop the security label.
+ The new setting of the security label, written as a string literal.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>NULL</literal></term>
+ <listitem>
+ <para>
+ Write <literal>NULL</literal> to drop the security label.
</para>
</listitem>
</varlistentry>
@@ -193,12 +201,19 @@ SECURITY LABEL [ FOR <replaceable class="parameter">provider</replaceable> ] ON
<title>Examples</title>
<para>
- The following example shows how the security label of a table might
- be changed.
+ The following example shows how the security label of a table could
+ be set or changed:
<programlisting>
SECURITY LABEL FOR selinux ON TABLE mytable IS 'system_u:object_r:sepgsql_table_t:s0';
-</programlisting></para>
+</programlisting>
+
+ To remove the label:
+
+<programlisting>
+SECURITY LABEL FOR selinux ON TABLE mytable IS NULL;
+</programlisting>
+ </para>
</refsect1>
<refsect1>