On Fri, 2012-04-20 at 11:35 +0200, F. BROUARD / SQLpro wrote:
> Hi,
> 
> according to the documentation, the function pg_relation_filepath
> "returns the entire file path name (relative to the database cluster's 
> data directory PGDATA) of the relation"
> 
> When my table are located in the pg_default tablespace, the gievn 
> relative path is correct
> 
> When my table are located on a specific tablespace, this function 
> returns incorrect dats such as :
> 
> pg_tblspc/25310/PG_9.1_201105231/16594/25311
> 
> only the "PG_9.1_201105231/16594/25311" is correct.
> 
> What does the "pg_tblspc/25310" do ???
> 
> How can I obtain the correct relative path ?
> 

It is the correct relative path. It's relative to $PGDATA. Your
tablespace has the OID 25310. So, you have a symbolic link (or junction
if you are on Windows) named 25310 in your $PGDATA/pg_tblspc directory.
And PostgreSQL will access this table via the symbolic link. It really
uses this path: pg_tblspc/25310/PG_9.1_201105231/16594/25311

There's nothing wrong here.


-- 
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to