Thread: Numeric file names

Numeric file names

From
Bruce Momjian
Date:
Now that we have numeric file names, I would like to have a command I
can run from psql that will dump a mapping of numeric file name to table
name, i.e.,
121233    pg_proc143423    pg_index


With that feature, I can write scripts pgfile2name and pgname2file that
map file names to table names.  People can run standard Unix commands
and have meaningful display output:
ls -l | pgfile2name

changes:
-rwx------  4 postgres  postgres   512 Oct 27 10:52 198323

to:
-rwx------  4 postgres  postgres   512 Oct 27 10:52 pg_class

The only missing piece would be to identify files on a backup tape.  Not
sure how to handle that unless a map file already exists on the tape.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: Numeric file names

From
Peter Eisentraut
Date:
Bruce Momjian writes:

> Now that we have numeric file names, I would like to have a command I
> can run from psql that will dump a mapping of numeric file name to table
> name, i.e.,
> 
>     121233    pg_proc
>     143423    pg_index

select oid, relname from pg_class;

> With that feature, I can write scripts pgfile2name and pgname2file that
> map file names to table names.  People can run standard Unix commands
> and have meaningful display output:
> 
>     ls -l | pgfile2name

sed `psql -Aqt -d ${database} -c "select'-e s/' || oid || '/' || relname || '/g' from pg_class"`


What I'd find useful is a program that you can occasionally run on a
database directory that creates links from "name" to "oid".

-- 
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/



Re: Numeric file names

From
Bruce Momjian
Date:
> Bruce Momjian writes:
> 
> > Now that we have numeric file names, I would like to have a command I
> > can run from psql that will dump a mapping of numeric file name to table
> > name, i.e.,
> > 
> >     121233    pg_proc
> >     143423    pg_index
> 
> select oid, relname from pg_class;

Oh, we went with oid-based file names.  OK.

> > With that feature, I can write scripts pgfile2name and pgname2file that
> > map file names to table names.  People can run standard Unix commands
> > and have meaningful display output:
> > 
> >     ls -l | pgfile2name
> 
> sed `psql -Aqt -d ${database} -c "select'-e s/' || oid || '/' || relname || '/g' from pg_class"`
> 
> 
> What I'd find useful is a program that you can occasionally run on a
> database directory that creates links from "name" to "oid".

Yes, that too.  You can then do ls -L on the symlinks to see the
underlying sizes.

My utilities are more generic.  Also, they will allow programs like
fstat/lsof to show meaningful output, though it may be tough to guess
the database from the fstat output.  lsof prints the full path, so that
is OK.  The script will guess the database from the path name.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: Numeric file names

From
Bruce Momjian
Date:
> > With that feature, I can write scripts pgfile2name and pgname2file that
> > map file names to table names.  People can run standard Unix commands
> > and have meaningful display output:
> > 
> >     ls -l | pgfile2name
> 
> sed `psql -Aqt -d ${database} -c "select'-e s/' || oid || '/' || relname || '/g' from pg_class"`
> 
> 
> What I'd find useful is a program that you can occasionally run on a
> database directory that creates links from "name" to "oid".

Let me not grab this utility as my own.  If someone else wants to code
it, go ahead.  I will be in California for most of next week.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: Numeric file names

From
"Vadim Mikheev"
Date:
> > Now that we have numeric file names, I would like to have a command I
> > can run from psql that will dump a mapping of numeric file name to table
> > name, i.e.,
> >
> > 121233 pg_proc
> > 143423 pg_index
>
> select oid, relname from pg_class;

No. select relfilenode, relname from pg_class - in theory relfilenode may
differ
from relation oid.

Vadim