From: | Josh Berkus <josh(at)agliodbs(dot)com> |
---|---|
To: | Stephen Frost <sfrost(at)snowman(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: tablespaces inside $PGDATA considered harmful |
Date: | 2015-01-30 21:26:22 |
Message-ID: | 54CBF6FE.8030209@agliodbs.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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(at)Radegast:~/pg94/data/pg_tblspc$ ls
17656 PG_9.4_201409291
josh(at)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(at)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.
--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2015-01-30 21:58:39 | Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} 2.0 |
Previous Message | Stephen Frost | 2015-01-30 21:16:34 | Re: Parallel Seq Scan |