Re: tablespaces inside $PGDATA considered harmful

Поиск
Список
Период
Сортировка
Искать
От
Bruce Momjian
Тема
Re: tablespaces inside $PGDATA considered harmful
Дата
Msg-id
20150423024102.GJ13362@momjian.us
Ответ на
Список
Дерево обсуждения
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 по дате отправления
От: Jeff Davis
Дата:
От: Etsuro Fujita
Дата:
FAQ