Navigation

dumbofs - a postresql filesystem

dumbofs allows you to view databases, and tables from a postgresql server as regular directories and files. It also allows the creation of special 'search folders' where they contain postgres database records matching certain given criteria.

Here's how the directory structure of a dumbofs mount will look like:
.
|- databases
|-- schemas
|--- tables
|---- search folders
|----- search folders
...

search folders are any directories inside a table level directory or another search folder directory. These special dirs look for a file called .where and query the database using the given where clause and list the resulting records as files. The filenames comprise of the primary key of the record, and the file contents contain all the columns of the table with the values for the given record.

other filesystems

There are several other postgres filesystems around, but they all store a filesystem in a postgresql database, not mount the postgresql server as dumbofs does. If that is what you are looking for have at the following filesystems: psqlfs, pgfs and pgsqlfs

requirements

dumbofs is a userspace filesystem, since it needs to use the postgres library. Thus it was built to use fuse (filesystem in userspace). The following are required in oreder to compile:

fuse-utils libfuse-dev libfuse2 libpq-dev

download

dumbofs v0.01

(see INSTALL and README for installation and usage)

the future

here's a list of things that *could* go into dumbofs

  • lock connections
  • provide way to drop the cache of a dir (eg unlink a .cache file)
  • provide mount time option of what to cache
  • write sql files
  • remove sql files
  • rename sql files
  • rmdir search folders
  • rename search folders
  • .select file
  • .primary_keys, .columns, etc.. in table level dirs
  • set mtime, atime, other file attributes
  • dynamic queries based on name of dir/some other fs parameter
  • allow for more advanced queries
  • lots more...