postgres$ cd /home/postgres
postgres$ mkdir ts_dir
=> CREATE TABLESPACE ts LOCATION '/home/postgres/ts_dir';
CREATE TABLESPACE
=> ALTER DATABASE template1 SET TABLESPACE ts;
ALTER DATABASE
=> CREATE DATABASE db;
CREATE DATABASE
=> SELECT spcname FROM pg_tablespace WHERE OID = (SELECT dattablespace FROM pg_database WHERE datname = 'db');
spcname --------- ts (1 row)
Табличное пространство по умолчанию - ts. Вывод: табличное пространство по умолчанию определяется шаблоном, из которого клонируется новая база данных.
=> SELECT OID AS tsoid FROM pg_tablespace WHERE spcname = 'ts';
tsoid ------- 16421 (1 row)
=> \! ls -l /usr/local/pgsql/data/pg_tblspc/16421
lrwxrwxrwx 1 postgres postgres 21 мар 31 15:24 /usr/local/pgsql/data/pg_tblspc/16421 -> /home/postgres/ts_dir
=> ALTER DATABASE template1 SET TABLESPACE pg_default;
ALTER DATABASE
=> DROP DATABASE db;
DROP DATABASE
=> DROP TABLESPACE ts;
DROP TABLESPACE