Le 20/04/2012 12:05, Guillaume Lelarge a écrit :
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.


yes, but I want to have the real path, not the symbolic PG path...

Do you know haw can I obtain it by a calssical SQL Query ?

A +




--
Frédéric BROUARD - expert SGBDR et SQL - MVP SQL Server - 06 11 86 40 66
Le site sur le langage SQL et les SGBDR  :  http://sqlpro.developpez.com
Enseignant Arts & Métiers PACA, ISEN Toulon et CESI/EXIA Aix en Provence
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.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