From e308bcff5a610d6a3bbe33b3769f03f6d4533b16 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 18:02:19 +0200 Subject: Adding upstream version 248. Signed-off-by: Daniel Baumann --- upgrade-scripts/SPECIFICATION | 59 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 upgrade-scripts/SPECIFICATION (limited to 'upgrade-scripts') diff --git a/upgrade-scripts/SPECIFICATION b/upgrade-scripts/SPECIFICATION new file mode 100644 index 0000000..367a1b3 --- /dev/null +++ b/upgrade-scripts/SPECIFICATION @@ -0,0 +1,59 @@ +postgresql-common upgrade script infrastructure +=============================================== + +Purpose +------- + +These scripts are executed on upgrades of postgresql-common. They can be used +to perform version-specific or common tasks on all databases or all clusters +(like doing security updates on already existing databases, do format +conversions, and so on). + +Conventions +----------- + +File names must have the following format: + + version_name_scope.suffix + +Files can either be SQL scripts with a "sql" suffix, or executable scripts with +any other suffix. + +Files not following these conventions (like this README file) are ignored. + +version: + This specifies a version number of postgresql-common. If the package + is upgraded from a version less than or equal to this number, the script is + applied. If version is "all", the script is always applied regardless of the + already installed version. + +name: + This name is displayed when calling the script as an information for the + user. + +scope: + db: The script is called/applied for each existing database of all clusters, + but not to template1 and template0. + t1: The script is additionally applied to all template1 databases. + t0: The script is additionally applied to all template0 databases. + cluster: The script is called once for each existing cluster. + +suffix: + ".sql" for SQL scripts, arbitrary (also empty) for executable scripts. + +SQL Scripts +----------- +Per-database scripts are fed to psql which is called as cluster superuser on +the currently processed database. Per-cluster scripts are called with +connecting to template1. + +Executable scripts +------------------ +Scripts receive the following arguments: + + + + will always be "template1" for cluster-scope scripts. +On success, they must exit with 0; on error, they should write error +messages to stdout and exit with nonzero. stdout is then displayed as +a failure message. -- cgit v1.2.3