I used the followings:
create tablespace mytabspc location '/var/lib/pgsql/data/pg_tblspc';
create database mydb with tablespace=mytabspc;
drop database mydb;
drop tablespace mytabspc;
ERROR: tablspace 'mytabspc' is not empty
Please tell me why?
On Tue, Jan 12, 2010 at 11:50 AM, Greg Smith <greg@xxxxxxxxxxxxxxx> wrote:
AI Rumman wrote:PostgreSQL ships with a blank tablespace setting, which it interprets as meaning you want to put the database table files into the default tablespace which is stored in $PGDATA/base
But actually I want to know that why the value in spclocation is null is pg_tablespace for pg_default.
Moreover, $PGDATA/pg_tblspc has no file.
Could you please tell me why?
When you create a new tablespace using CREATE TABLESPACE: http://www.postgresql.org/docs/current/static/sql-createtablespace.html
Then you'll find that pg_tblspc contains a symbolic link to the new directory you've told it to use. At that point, you can then point all new creation toward that location by setting default_tablespace, or put individual bits of data onto there with the appropriate options to CREATE: http://www.postgresql.org/docs/current/static/manage-ag-tablespaces.html
--
Greg Smith 2ndQuadrant Baltimore, MD
PostgreSQL Training, Services and Support
greg@xxxxxxxxxxxxxxx www.2ndQuadrant.com