Compare commits

..

No commits in common. "f646ac6725672896d424e0ac46b3ba77a4063264" and "82063edd4ac366161d9afa56221c74032b332c39" have entirely different histories.

7 changed files with 17 additions and 1590 deletions

View File

@ -213,12 +213,6 @@ createdb -O <replaceable>rolename</replaceable> <replaceable>dbname</replaceable
action being taken when those databases are created. action being taken when those databases are created.
</para> </para>
<para>
However, <command>CREATE DATABASE</command> does not copy database-level
<command>GRANT</command> permissions attached to the source database.
The new database has default database-level permissions.
</para>
<para> <para>
There is a second standard system database named There is a second standard system database named
<literal>template0</literal>.<indexterm><primary>template0</primary></indexterm> This <literal>template0</literal>.<indexterm><primary>template0</primary></indexterm> This

View File

@ -213,10 +213,9 @@ if docs_dep.found()
install_doc_man = custom_target('install-man', install_doc_man = custom_target('install-man',
output: 'install-man', output: 'install-man',
input: man,
command: [ command: [
python, install_files, '--prefix', dir_prefix, python, install_files, '--prefix', dir_prefix,
'--install-dirs', dir_man, '@INPUT@'], '--install-dirs', dir_man, man],
build_always_stale: true, build_by_default: false, build_always_stale: true, build_by_default: false,
) )
alias_target('install-doc-man', install_doc_man) alias_target('install-doc-man', install_doc_man)

View File

@ -137,11 +137,7 @@ REVOKE [ GRANT OPTION FOR ]
<listitem> <listitem>
<para> <para>
The name of an existing role of which the current role is a member. The name of an existing role of which the current role is a member.
Default access privileges are not inherited, so member roles If <literal>FOR ROLE</literal> is omitted, the current role is assumed.
must use <command>SET ROLE</command> to access these privileges,
or <command>ALTER DEFAULT PRIVILEGES</command> must be run for
each member role. If <literal>FOR ROLE</literal> is omitted,
the current role is assumed.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -59,16 +59,15 @@ CREATE [ OR REPLACE ] RULE <replaceable class="parameter">name</replaceable> AS
</para> </para>
<para> <para>
Presently, <literal>ON SELECT</literal> rules can only be attached Presently, <literal>ON SELECT</literal> rules must be unconditional
to views. Such a rule must be named <literal>"_RETURN"</literal>, <literal>INSTEAD</literal> rules and must have actions that consist
must be an unconditional <literal>INSTEAD</literal> rule, and must have of a single <command>SELECT</command> command. Thus, an
an action that consists of a single <command>SELECT</command> command. <literal>ON SELECT</literal> rule effectively turns the table into
This command defines the visible contents of the view. (The view a view, whose visible contents are the rows returned by the rule's
itself is basically a dummy table with no storage.) It's best to <command>SELECT</command> command rather than whatever had been
regard such a rule as an implementation detail. While a view can be stored in the table (if anything). It is considered better style
redefined via <literal>CREATE OR REPLACE RULE "_RETURN" AS to write a <command>CREATE VIEW</command> command than to create a
...</literal>, it's better style to use <literal>CREATE OR REPLACE real table and define an <literal>ON SELECT</literal> rule for it.
VIEW</literal>.
</para> </para>
<para> <para>

View File

@ -1119,10 +1119,6 @@ INSERT INTO tbl1 VALUES ($1, $2) \bind 'first value' 'second value' \g
destination, because all data must pass through the client/server destination, because all data must pass through the client/server
connection. For large amounts of data the <acronym>SQL</acronym> connection. For large amounts of data the <acronym>SQL</acronym>
command might be preferable. command might be preferable.
Also, because of this pass-through method, <literal>\copy
... from</literal> in <acronym>CSV</acronym> mode will erroneously
treat a <literal>\.</literal> data value alone on a line as an
end-of-input marker.
</para> </para>
</tip> </tip>

File diff suppressed because it is too large Load Diff

View File

@ -627,7 +627,6 @@ handleCopyIn(PGconn *conn, FILE *copystream, bool isbinary, PGresult **res)
* This code erroneously assumes '\.' on a line alone * This code erroneously assumes '\.' on a line alone
* inside a quoted CSV string terminates the \copy. * inside a quoted CSV string terminates the \copy.
* https://www.postgresql.org/message-id/E1TdNVQ-0001ju-GO@wrigleys.postgresql.org * https://www.postgresql.org/message-id/E1TdNVQ-0001ju-GO@wrigleys.postgresql.org
* https://www.postgresql.org/message-id/bfcd57e4-8f23-4c3e-a5db-2571d09208e2@beta.fastmail.com
*/ */
if ((linelen == 3 && memcmp(fgresult, "\\.\n", 3) == 0) || if ((linelen == 3 && memcmp(fgresult, "\\.\n", 3) == 0) ||
(linelen == 4 && memcmp(fgresult, "\\.\r\n", 4) == 0)) (linelen == 4 && memcmp(fgresult, "\\.\r\n", 4) == 0))