pg_ctl: Add idempotent option

This changes the behavior of the start and stop actions to exit
successfully if the server was already started or stopped.

This changes the default behavior of the start action:  Before, if the
server was already running, it would print a message and succeed.  Now,
that situation will result in an error.  When running in idempotent
mode, no message is printed and pg_ctl exits successfully.

It was considered to just make the idempotent behavior the default and
only option, but pg_upgrade needs the old behavior.
Add serial comma
Improve GiST index search performance for trigram regex queries.

The initial coding just descended the index if any of the target trigrams
were possibly present at the next level down.  But actually we can apply
trigramsMatchGraph() so as to take advantage of AND requirements when there
are some.  The input data might contain false positive matches, but that
can only result in a false positive result, not false negative, so it's
safe to do it this way.

Alexander Korotkov
Correct handling of NULL arguments in json funcs.

Per gripe from Tom Lane.
Mark json IO and extraction functions immutable.

Per complaint from Hubert Depesz Lubaczewski.

Catalog version bumped.
Fix function return type confusion

When parse_hba_line's return type was changed from bool to a pointer,
the MANDATORY_AUTH_ARG macro wasn't adjusted.
Remove some unused and seldom used fields from RelationAmInfo.

This saves some memory from each index relcache entry. At least on a 64-bit
machine, it saves just enough to shrink a typical relcache entry's memory
usage from 2k to 1k. That's nice if you have a lot of backends and a lot of
indexes.
pgindent:  add newline to die() so script line number is not reported on failure.
doc: Update PQgetssl() documentation

The return type of PQgetssl() was changed from SSL* to void* a long time
ago, but the documentation was not updated.
sepgsql: One more getObjectIdentity in lieu of getObjectDescription.

KaiGai Kohei, based on a suggestion from Álvaro Herrera
sepgsql: Minor improvement to test script, doc fix.

KaiGai Kohei
pg_upgrade:  Add checksum C comment

We might eventually allow checksum to no-checksum upgrades.
Standardize spelling of "nonblocking"

Only adjusted the user-exposed messages and documentation,  not all
source code comments.
Fix typo in comment.

Fabrízio de Royes Mello
Don't try to pass -I switch to postmaster in contrib/start-scripts/linux.

Undo thinko in commit 87306184580c9c49717b00d48a2f9e717f21e0a8.
Per bug #8098 from Catherine Devlin.
Improve error message when an FDW doesn't support WHERE CURRENT OF.

If an FDW fails to take special measures with a CurrentOfExpr, we will
end up trying to execute it as an ordinary qual, which was being treated
as a purely internal failure condition.  Provide a more user-oriented
error message for such cases.
Clean up references to SQL92

In most cases, these were just references to the SQL standard in
general.  In a few cases, a contrast was made between SQL92 and later
standards -- those have been kept unchanged.
doc: Mention SATA alongside IDE for Linux

suggested by Jov
Publish draft 9.3 release notes

No links added yet.
Push 9.3 release SGML file

Forgotten in previous commit.