mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
Repair problem identified by Olivier Prenant: ALTER DATABASE SET search_path
should not be too eager to reject paths involving unknown schemas, since it can't really tell whether the schemas exist in the target database. (Also, when reading pg_dumpall output, it could be that the schemas don't exist yet, but eventually will.) ALTER USER SET has a similar issue. So, reduce the normal ERROR to a NOTICE when checking search_path values for these commands. Supporting this requires changing the API for GUC assign_hook functions, which causes the patch to touch a lot of places, but the changes are conceptually trivial.
This commit is contained in:
@ -2,27 +2,32 @@
|
||||
* variable.h
|
||||
* Routines for handling specialized SET variables.
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/commands/variable.h,v 1.22 2003/11/29 22:40:59 pgsql Exp $
|
||||
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/commands/variable.h,v 1.23 2004/01/19 19:04:40 tgl Exp $
|
||||
*/
|
||||
#ifndef VARIABLE_H
|
||||
#define VARIABLE_H
|
||||
|
||||
#include "utils/guc.h"
|
||||
|
||||
|
||||
extern const char *assign_datestyle(const char *value,
|
||||
bool doit, bool interactive);
|
||||
bool doit, GucSource source);
|
||||
extern const char *assign_timezone(const char *value,
|
||||
bool doit, bool interactive);
|
||||
bool doit, GucSource source);
|
||||
extern const char *show_timezone(void);
|
||||
extern const char *assign_XactIsoLevel(const char *value,
|
||||
bool doit, bool interactive);
|
||||
bool doit, GucSource source);
|
||||
extern const char *show_XactIsoLevel(void);
|
||||
extern bool assign_random_seed(double value,
|
||||
bool doit, bool interactive);
|
||||
bool doit, GucSource source);
|
||||
extern const char *show_random_seed(void);
|
||||
extern const char *assign_client_encoding(const char *value,
|
||||
bool doit, bool interactive);
|
||||
bool doit, GucSource source);
|
||||
extern const char *assign_session_authorization(const char *value,
|
||||
bool doit, bool interactive);
|
||||
bool doit, GucSource source);
|
||||
extern const char *show_session_authorization(void);
|
||||
|
||||
#endif /* VARIABLE_H */
|
||||
|
Reference in New Issue
Block a user