mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
Warn about tablespace creation in PGDATA
Also add warning to pg_upgrade Report by Josh Berkus
This commit is contained in:
@ -288,6 +288,12 @@ CreateTableSpace(CreateTableSpaceStmt *stmt)
|
|||||||
errmsg("tablespace location \"%s\" is too long",
|
errmsg("tablespace location \"%s\" is too long",
|
||||||
location)));
|
location)));
|
||||||
|
|
||||||
|
/* Warn if the tablespace is in the data directory. */
|
||||||
|
if (path_is_prefix_of_path(DataDir, location))
|
||||||
|
ereport(WARNING,
|
||||||
|
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
|
||||||
|
errmsg("tablespace location should not be inside the data directory")));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Disallow creation of tablespaces named "pg_xxx"; we reserve this
|
* Disallow creation of tablespaces named "pg_xxx"; we reserve this
|
||||||
* namespace for system purposes.
|
* namespace for system purposes.
|
||||||
|
@ -508,6 +508,10 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
|
|||||||
canonicalize_path(old_tablespace_dir);
|
canonicalize_path(old_tablespace_dir);
|
||||||
if (path_is_prefix_of_path(old_cluster_pgdata, old_tablespace_dir))
|
if (path_is_prefix_of_path(old_cluster_pgdata, old_tablespace_dir))
|
||||||
{
|
{
|
||||||
|
/* reproduce warning from CREATE TABLESPACE that is in the log */
|
||||||
|
pg_log(PG_WARNING,
|
||||||
|
"\nWARNING: user-defined tablespace locations should not be inside the data directory, e.g. %s\n", old_tablespace_dir);
|
||||||
|
|
||||||
/* Unlink file in case it is left over from a previous run. */
|
/* Unlink file in case it is left over from a previous run. */
|
||||||
unlink(*deletion_script_file_name);
|
unlink(*deletion_script_file_name);
|
||||||
pg_free(*deletion_script_file_name);
|
pg_free(*deletion_script_file_name);
|
||||||
|
Reference in New Issue
Block a user