I could even see a utility that does a dump of this info into a flat file,
entirely overwriting the file every time.
This would be quick to reference and usable in a meltdown scenario. Could
easily be incorporated into vacuum and other db maintenance cron scripts.
-Casey
Bruce Momjian wrote:
>>> Yes, I like that idea, but the problem is that it is hard to update just
>>> one table in the file. You sort of have to update the entire file each
>>> time a table changes. That is why I liked symlinks because they are
>>> per-table, but you are right that the symlink creation could fail
>>> because the new table file was never created or something, leaving the
>>> symlink pointing to nothing. Not sure how to address this. Is there a
>>> way to update a flat file when a single table changes?
>>
>> Why not just dump the whole file? That way, if a previosu dump failed for
>> whatever reason, the new dump would correct that omission ...
>
>
> Yes, you can do that, but it is only updated during a dump, right?
> Makes it hard to use during the day, no?
>
>
>> Then again, why not some sort of 'lsdb' command that looks at where it is
>> and gives you info as appropriate?
>
>
>
> I want to do that for oid2name. I had the plan layed out, but never got
> to it.
>
>
>> if in data/base, then do a connect to template1 using postgres so that you
>> can dump and parse the raw data from pg_database ... if in a directory,
>> you should be able to connect to that database in a similar way to grab
>> the contents of pg_class ...
>>
>> no server would need to be running for this to work, and if it was
>> readonly, it should be workable if a server is running, no?
>
>
> I think parsing the file contents is too hard. The database would have
> to be running and I would use psql.