1/*-------------------------------------------------------------------------
2 *
3 * Interfaces in support of FE/BE connections.
4 *
5 *
6 * Portions Copyright (c) 1996-2019, 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 */
29