Forum OpenACS Q&A: Response to Implement site-wide search using OpenFTS with modules such as file-storage

Performance of Postgres itself is fine, however due to the lack of any reasonable I/O interface to large objects we chose to encode binary data before placing it in the database (the chunks have to be inserted as strings, thus the encoding process).

So pulling data in and out of the database and up the pipe to your user's browser can be a bit expensive.

Backing up if the data's in PG is simpler because pg_dump will guarantee consistency.

If you store the data in the filesystem you'll need to pg_dump and tar the file data.  To be absolutely certain of getting a consistent dump you'd probably want to shut down during the backup.

There are tradeoffs either way, which is why we added code to allow you to choose which storage method to use.