PSQLFS - PostgreSQL File System

Psqlfs is a file system that uses PostgreSQL, and all data accesses are done using the SQL protocol and engine.

It works using LUFS - The Linux Userland File System to provide the API to the kernel and the PostgeSQL database to store the data.

The way it works is as follows: LUFS provides a kernel file system module that, rather than drive the physical file system itself, passes the requests to a deamon, called lufsd, that runs in the LINUX user space and communicates with this through sockets.

There are a number of modules for lufsd depending on what needs to be done, for instance, there is one that can communicate to an ssh sftp server making it appear on the local machine as a file system, another for ftp (not so complete), for PDA cards and so on (see the LUFS web site for more details). Psqlfs is simply one of these modules which transalate the file system requests to SQL commands to be handled by a Postgres server.

Please note - this does NOT let you access your Postgres tables as though they were files - that would be pointless anyway as very near impossible - what it does is that it stores a file system data and meta data, that is file names, directories, links, attributes and the data itself, in some (pre-defined) Postgres tables, and LUFS uses SQL to access and manipulate these tables (sometimes using pre-defined stored procedures too).

This module is released under the GPL - Like LUFS.

When I get round to it - I will get together more documentation, and perhaps a FAQ (if anyone asks me any questions!). For now though, if you want it, in the mean time - you can download it from ftp://ftp.edlsystems.com/psqlfs.

I can be contacted at eddy@edlsystems.com should you want to communicate.

Enjoy

By the way, I am now (sort of) maintaining a Blog, please feel free to visit and comment.

Edward Macnaghten

CHANGES

Version 0.02: 29-september-2004

Version 0.01: 4-september-2004