sepgql: Use getObjectIdentity rather than getObjectDescription.

KaiGai Kohei, based on a suggestion from Álvaro Herrera
Minor wording corrections for object-access hook stuff.

KaiGai Kohei
sepgsql: Enforce db_procedure:{execute} permission.

To do this, we add an additional object access hook type,
OAT_FUNCTION_EXECUTE.

KaiGai Kohei
pgindent:  fix downloading of BSD indent binary

Also fix accessing pgentab binary and tar.

Gurjeet Singh
pgindent: improve error messages

per suggestion from Gurjeet Singh
Clean up the mess around EXPLAIN and materialized views.

Revert the matview-related changes in explain.c's API, as per recent
complaint from Robert Haas.  The reason for these appears to have been
principally some ill-considered choices around having intorel_startup do
what ought to be parse-time checking, plus a poor arrangement for passing
it the view parsetree it needs to store into pg_rewrite when creating a
materialized view.  Do the latter by having parse analysis stick a copy
into the IntoClause, instead of doing it at runtime.  (On the whole,
I seriously question the choice to represent CREATE MATERIALIZED VIEW as a
variant of SELECT INTO/CREATE TABLE AS, because that means injecting even
more complexity into what was already a horrid legacy kluge.  However,
I didn't go so far as to rethink that choice ... yet.)

I also moved several error checks into matview parse analysis, and
made the check for external Params in a matview more accurate.

In passing, clean things up a bit more around interpretOidsOption(),
and fix things so that we can use that to force no-oids for views,
sequences, etc, thereby eliminating the need to cons up "oids = false"
options when creating them.

catversion bump due to change in IntoClause.  (I wonder though if we
really need readfuncs/outfuncs support for IntoClause anymore.)
Fix sporadic rebuilds for .pc files

The build of .pc (pkg-config) files depends on all makefiles in use, and
in dependency tracking mode, the previous coding ended up including
/dev/null as a makefile.  Apparently, on some platforms the modification
time of /dev/null changes sporadically, and so the .pc files would end
up being rebuilt every so often.  Fix that by changing the makefile code
to do without using /dev/null.
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.