blob: 367a1b3ca0fdf9e7ce3597550bb0bacc735b8197 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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:
<version> <cluster> <database name>
<database name> 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.
|