Search code examples
postgresqlpostgresql-9.1tablespace

Create tablespace in postgresql and set is to it is the default for all newly created databases


I have created a tablespace named hdd_tablespace and I wan't all new databases to be automatically created there. Basically when I execute:

CREATE DATABASE FOO; 

I want this database to be created in hdd_tablespace.

I have updated postgresql.conf with:

 default_tablespace = 'hdd_tablespace' 

However, new databases are still created in pg_default.


Solution

  • Actually it turned out I had also to update template1 database that is a template database.

    I had to;

    ALTER DATABASE template1 SET TABLESPACE hdd_tablespace;