PostgreSQL on SMB/CIFS Shares on FreeBSD 5 - Mailing list pgsql-general

From Rob Oakley
Subject PostgreSQL on SMB/CIFS Shares on FreeBSD 5
Date
Msg-id 20040420031832.4FBAFD1CC8D@svr1.postgresql.org
Whole thread Raw
List pgsql-general
I have an embedded system running FreeBSD (5.1) that does not have any local
(rotating) storage (i.e disk drives).

PostgreSQL also runs on this box and (at this point) has two tables.  It is
an extremely simple PostgreSQL configuration with the tables having less
than 20 fields each, and no relations between the tables.

However, because there isn't any (substantial) local storage available on
the Compact Flash, and the tables have the potential to grow fairly large,
Windows-based shares are being used (via PostgreSQL's 'initlocation') as the
backing store for the tables.

Moreover, setting the system up consisted of:
1. Setting and exporting PGDATA2=/var/nsg/dbNSG in ~/.profile
2. mount_smbfs <user@server/share> /var/nsg/dbNSG
3. initdb (default location (/usr/local/pgsql/data) (on the flash))
4. start PostgreSQL
5. createuser -A -D nsg
6. initlocation -D PGDATA2
7. createdb -D PGDATA2 -O nsg nsg
8. (create tables)

This all completes successfully, the problems begin while attempting to
populate the tables.  It seems that attempts to add specific records causes
my C/libpq application to forever block on 'postgres'.  My app is blocked on
select(2) (via pg_exec('INSERT...')) and PostgreSQL is blocked on a
semaphore.  And for the record, the application and PostgreSQL perform
flawlessly if step 2 (above) is skipped.  In other words, there seems to be
problem when SMB/CIFS is layered in.

Does anyone have any information that might shed a little light?  Anyone use
SMB/CIFS as the backing store for PostgreSQL?

Thanks in advance!
robo


pgsql-general by date:

Previous
From: "kostas"
Date:
Subject: I cannot view the website of postreSQL correctly
Next
From: "csysi"
Date:
Subject: upgrade postgres 7.1 to 7.4.2