Author Topic: One catalog for multiple computers  (Read 77 times)

Offline Matthew

  • Full Member
  • ***
  • Posts: 107
    • View Profile
    • matt-horwood.com
One catalog for multiple computers
« on: December 28, 2025, 02:55:50 PM »
Hello,

I've been using PM+ with images stored on a NAS drive and the catalog stored locally on my MacBook.

The problem I'm having now is the library is so big (700,000+ images and videos) that the catalog and the proxy files are consuming too much of my local storage.

I've decided to put the catalog on a separate drive within the NAS and will then connect my MacBook directly to it - so two network shares: catalog and assets.

My question: is there a way that both my MacBook and desktop computer can both access the catalog at the same time?

I'm getting database locked errors when I try to connect with the desktop. I'm guessing there may be a way around this with rsync but was wondering if it was an issue you'd encountered before.

Offline ejhutch

  • Member
  • **
  • Posts: 60
    • View Profile
Re: One catalog for multiple computers
« Reply #1 on: December 29, 2025, 06:50:44 AM »
Not Really. I've looked into this as well, and had a forum conversation with Kirk a long time ago about at least part of this.

Photo Mechanic was not designed with multiple simultaneous concurrent session access capabilities.  It uses SQLite instances for its database backend(s) which is single user, and is embedded within the application itself. This architecture and how they've organized their databases is what makes PM so fast once your images are cataloged. I've explored some of their databases a little, and what they've done for speed is pretty impressive. It creates and uses various SQLite databases for catalogs, caches, etc., -- in different locations -- and these are all single-user-only.

Apple seems to love this approach as well with many of it's applications (photos, mail, contacts, calendar, and many others), but Apple seems to provide multi-user access through it's sophisticated cloud syncing.

I'd imagine you might be able to cobble together something using rsync, but it probably wouldn't be very robust and if CameraBits made changes to whichever databases they use/create, it would probably break whatever you set up. Likely a more robust solution would be to use some other database data manipulation or copying program which would take care of concurrent access issues, but which would also break if/when CameraBits changed anything with the PM databases.

Kirk indicated that CameraBits had looked into providing catalog access by at least running the database(s) on a separate machine than the client (for example to ease storage space for proxy images) -- but I can't speak to them exploring simultaneous concurrent access. And I don't know if they ever concluded it might be worth implementing.

I imagine it would be a pretty big undertaking if they were to implement even just single-session client-server database capability, not to mention multiple user concurrent-session access, which would be a huge effort. It's the whole "at the same time" part which makes anything like that pretty complicated.

Also, you can store proxy images on a per-catalog basis in an "external storage" location (See Catalog Preferences), but keep the catalog local, which is what I'm doing to partially address the same storage space problem in my setup. Perhaps try that but keep the catalog local?

There's also a way of specifying common network folders so that you can use the same folder paths on multiple machines (not at the same time), but I haven't used that feature, yet. And since you can have multiple catalogs open at the same time on one machine and for one user, you could possibly keep catalogs on your laptop and desktop, which are shared on the network, and make changes to both sets of catalogs from one machine with the catalogs set to Add/Modify, then disable "Add/Modify" on the one machine, pop over to the other, which would have been set with "Add/Modify" disabled, and see the changes reflected there.  Though I'm not sure whether you'd get a locked message if just "Search" was enabled on a shared catalog that was being accessed on both machines. I'll have to try that out sometime.

Hopefully I'm not too far off with my answer -- it's been a while since I looked into doing something like that -- and I decided to move to keeping my catalogs locally on my laptop, but storing proxy images on an external SSD.