]> granicus.if.org Git - postgresql/blob - src/include/fe_utils/connect.h
Empty search_path in Autovacuum and non-psql/pgbench clients.
[postgresql] / src / include / fe_utils / connect.h
1 /*-------------------------------------------------------------------------
2  *
3  * Interfaces in support of FE/BE connections.
4  *
5  *
6  * Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
7  * Portions Copyright (c) 1994, Regents of the University of California
8  *
9  * src/include/fe_utils/connect.h
10  *
11  *-------------------------------------------------------------------------
12  */
13 #ifndef CONNECT_H
14 #define CONNECT_H
15
16 /*
17  * This SQL statement installs an always-secure search path, so malicious
18  * users can't take control.  CREATE of an unqualified name will fail, because
19  * this selects no creation schema.  This does not demote pg_temp, so it is
20  * suitable where we control the entire FE/BE connection but not suitable in
21  * SECURITY DEFINER functions.  This is portable to PostgreSQL 7.3, which
22  * introduced schemas.  When connected to an older version from code that
23  * might work with the old server, skip this.
24  */
25 #define ALWAYS_SECURE_SEARCH_PATH_SQL \
26         "SELECT pg_catalog.set_config('search_path', '', false)"
27
28 #endif                                                  /* CONNECT_H */