.TH PgFuse "1" "06/11/2015" "PGFUSE" "User Commands" .SH NAME PgFuse \- FUSE-based file system with a PostgreSQL storage backend .SH SYNOPSIS .SS mounting \fBpgfuse \fP [options] .SS unmounting \fBfusermount -u .SH OPTIONS .SS "general options" .TP \fB-h\fR \fB\-\-help\fR print help .TP \fB-V\fR \fB\-\-version\fR print version .TP \fB-v\fR \fB\-\-verbose\fR print verbose information into syslog (use with care!) .TP \fB\-f\fR FUSE foreground option - do not run as daemon. .TP \fB\-s\fR FUSE singlethreaded option (disables multi-threaded operation) .SS "Postgresql connection string" .TP PostgreSQL connection string can be any valid connection string as documented in the documentation of \fBlibpq\fR in function \fBPQconnectdb\fR. .TP All PostgresSQL connection parameters must be given in the form \fB=\fR, separated by spaces. So if you want to specify more than one parameter, you must quote the whole connection string. .TP Here some of the most important parameters you can set: .TP \fBhost\fR The host running the PostgreSQL database. If ommitted communication is done via Unix domain sockets. .TP \fBport\fR TCP-port of the PostgreSQL postmaster, default is 5432 .TP \fBdbname\fR The PostgreSQL database to connect to. If not specified the name of the current Unix user is taken. .TP \fBuser\fR The PostgreSQL user to connect as. If not specified the name of the current Unix user is taken. .TP For more options have a look at the documentation of \fBlibpq\fR in function \fBPQconnectdb\fR. .TP \fBExample\fR: "host=foo.lan dbname=test user=test" .TP \fBNote\fR: When adding a permanent mount point to \fB/etc/fstab\fR you have to escape the spaces with \fB\\040\fR, for example: .TP pgfuse#host=localhost\\040dbname=testdb\\040user=testuser /mnt/pgfuse fuse defaults 0 0 .SS "Fuse and PgFuse options" Options are the normal FUSE options plus the special PgFuse options: .TP \fB-o\fR ro (default="") The default is to mount the filesystem read-writable. This can be overruled to allow only read operations. .TP \fB-o\fR noatime (default=false) The default is to keep track of access times on reads. This can be switched off with noatime. .TP \fB-o\fR blocksize= (default=4096) Store blocks of size . Do not change this while having data in your filesystem, otherwise you can't access it anymore! This is useful for special cases and performance testing. .SS "FUSE/Mount options" For a list of possible mount and FUSE options consult the manpage of \fBmount\fR and the README file of the \fBfuse\fR source package. .SH DESCRIPTION PgFuse is a FUSE filesystem which stores inodes and data into a PostgreSQL database. .SH INSTALLATION Before using PgFuse you must create a database user and a database where to store the files to. Populate the initial schema with: .TP \fBpsql < /usr/share/pgfuse-xxxx/schema.sql\fR .SH BUGS .TP - no hard-links .TP - no mknod support .TP - no access right checks .TP - no support for extended attributes and ACLs .TP - tested on Linux only currently .TP - no self-containment properties in respect to the database .SH AUTHOR PgFuse has been written by Andreas Baumann