PostgreSQL db volume at 100%. Can I create a tablespace on another volume so I can vacuum full? I have run out of space, because I am new to Postgres and I have just not been monitoring it properly.

Now I cannot even vacuum the tables:

ERROR:  could not extend file "base/20851/11787": No space left on device


I have deleted a whole bunch of data. I realize that only vacuum full will bring back space though.

I have another logical volume with lots of space on it. Can I create some kind of a tablespace over there? If so, is there a specific kind of space to tell the database to do it's "work" over there during the vacuum process? Or do I need to physically move tables to that tablespace? How do I do that?

I apologize for the rapid fire questions. I have found myself in a bit of a spot.

This is PostgreSQL 9.3.
Here's what You can do to move your data to the new tablespace :


Create the new tablespace pointing to the new location.

postgres=# create TABLESPACE movespace LOCATION '/home/postgres_tbsp';
CREATE TABLESPACE

Alter table or database to move to the new tablespace.

postgres=# ALTER DATABASE slonmaster SET tablespace movespace;
ALTER DATABASE



This process could last long as it moves all the data in the table or database to a new location.