Re: tablespaces inside $PGDATA considered harmful
От
Bruce Momjian
Тема
Re: tablespaces inside $PGDATA considered harmful
Дата
Msg-id
20150423024102.GJ13362@momjian.us
Ответ на
Re: tablespaces inside $PGDATA considered harmful (Josh Berkus)
Список
Дерево обсуждения
tablespaces inside $PGDATA considered harmful Robert Haas <robertmhaas@gmail.com>
Re: tablespaces inside $PGDATA considered harmful David G Johnston <david.g.johnston@gmail.com>
Re: tablespaces inside $PGDATA considered harmful Marc Mamin <M.Mamin@intershop.de>
Re: tablespaces inside $PGDATA considered harmful Bruce Momjian <bruce@momjian.us>
Re: tablespaces inside $PGDATA considered harmful "Joshua D. Drake" <jd@commandprompt.com>
Re: tablespaces inside $PGDATA considered harmful David Steele <david@pgmasters.net>
Re: tablespaces inside $PGDATA considered harmful Robert Haas <robertmhaas@gmail.com>
Re: tablespaces inside $PGDATA considered harmful Stephen Frost <sfrost@snowman.net>
On Fri, Jan 30, 2015 at 01:26:22PM -0800, Josh Berkus wrote: > Robert, Stephen, etc.: > > Apparently you can create a tablespace in the tablespace directory: > > josh=# create tablespace tbl location '/home/josh/pg94/data/pg_tblspc/'; > CREATE TABLESPACE > josh=# create table test_tbl ( test text ) tablespace tbl; > CREATE TABLE > josh=# \q > josh@Radegast:~/pg94/data/pg_tblspc$ ls > 17656 PG_9.4_201409291 > josh@Radegast:~/pg94/data/pg_tblspc$ ls -l > total 4 > lrwxrwxrwx 1 josh josh 30 Jan 30 13:02 17656 -> > /home/josh/pg94/data/pg_tblspc > drwx------ 3 josh josh 4096 Jan 30 13:02 PG_9.4_201409291 > josh@Radegast:~/pg94/data/pg_tblspc$ > > In theory if I could guess the next OID, I could cause a failure there, > but that appears to be obscure enough to be not worth bothering about. > > What is a real problem is that we don't block creating tablespaces > anywhere at all, including in obviously problematic places like the > transaction log directory: > > josh=# create tablespace tbl2 location '/home/josh/pg94/data/pg_xlog/'; > CREATE TABLESPACE > > It really seems like we ought to block *THAT*. Of course, if we block > tablespace creation in PGDATA generally, then that's covered. I have developed the attached patch to warn about creating tablespaces inside the data directory. The case this doesn't catch is referencing a symbolic link that points to the same directory. We can't make it an error so people can use pg_upgrade these setups. This would be for 9.5 only. -- Bruce Momjian http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. +
В списке pgsql-hackers по дате отправления