Subject Can libfbclient do fast local IO on linux?
Author Bryan Cole

I want to use firebird (v2.5) in an embedded-like situation with the database on a
linux host with precisely two local client processes performing concurrent
access (read and writes) to the database. I don't need connection security
(both clients are trusted) or network access. I would like the
efficiency-benefit of the fast local IO connection. So far, I'm using the
super-classic server (I don't want xinetd running).

As far as I can tell, I *have* to have the fb_smp_server process running to
make a connection. Will local connections automatically use the fast
(non-networked) protocol? 

Do I need to use the libfbembed to get the fast-local-connection? I'm using
the fdb python bindings and these are hardcoded to load the libfbclient
shared library. If the fast connection only works with libfbembed, can I
simply change the simlink to the so-file to point to libfbembed instead of
libfbclient? (i.e. are these two client libs ABI compatible?)

How can I verify that a local connection (not networked) is being used? Does
the use of a local dsn (dsn="/path/to/database.fdb") guarantee this?

It also seems that to connect to a database with a local connection (I
think), the client process needs write-permissions to the database file. Is
this right? This would be OK for me, but I'd like to launch the server
process (which seems to be required even though I want a local connection)
as my own user UID. Is it sensible to launch fb_smp_server directly on the
command line and what should I put for command-line options (root folder,
lock folder etc.)?

Thanks in advance for any advice you can give.