How to quickly share (and re-connect) to PostgresSQL databases
Over the years we’ve tackled the subject of setting up Postgres databases for sharing in DaVinci Resolve. More recently, Postgres gained new importance as the linchpin for project sharing between multiple Resolve Studio stations for the Resolve Collaborative workflow. But if you pull up the Resolve 14 manual (the most recent as of this writing) and look up, ‘how to enable database sharing’ you end up with instructions like Mixing Light’s Insight #0012, which we wrote when we launched in 2013. And it ain’t pretty.
How comfortable are you in Terminal?
The instructions for enabling database sharing begin:
‘Open a Terminal window’.
For some of you, this immediately forces a trip to the Google machine figuring out where to find Terminal on your computer. And then begins your great Copy-and-Paste-Event where you abandon any actual typing in Terminal, since you keep making typographic mistakes (Terminal is unforgiving). Of course, some commands require you change various unique strings to match your specific setup – resulting in a 2nd or 3rd round of frustration. All the while you keep thinking, ‘There must be a better way!’
Until DaVinci Resolve 14.1, there was NOT a better way. All we had was Terminal to enable database sharing. On top of that, if you disconnected from a postgres database in DaVinci Resolve and needed to re-connect to it at later date – how did you find the name of that database? Again, if you consulted with the manual the instructions begin with:
‘Open the PG Admin app’.
Then you begin your search anew, trying to figure out what that app is and how to use it to open your postgres database and find the name of the database you’re hunting down. Once again you ask yourself, ‘There must be a better way?’ And once again until DaVinci 14.1, there was NOT a better way.
The DaVinci Resolve Project Server App to the rescue
With the release of Resolve 14.1 (and forward), all versions of DaVinci Resolve (free and paid) install both DaVinci Resolve and the new Project Server app. This bit of software is specifically designed to take the place of Terminal and the PG Admin app for managing your databases. Here are a few takeaways about this new’ish app:
Takeaway #1: The ‘Project Server’ is misnamed
Technically, the Project Server app has nothing to do with serving individual DaVinci Resolve Projects. It manages DaVinci Resolve Postgres Databases. And those databases contain all your Projects. To share a specific Project you first set the Database for ‘sharing’. Others on your team connect to that Shared postgres database to access the shared Project.
Takeaway #2: The Project Server is Resolve’s replacement to the PGAdmin utility
Both Windows and Mac have the PGAdmin III utility for directly accessing your PostgreSQL databases. Typically, its only real use for Resolve users was to find the name of long-forgotten databases you need to reconnect. The DaVinci Resolve Project Server app is the functional replacement for the PGAdmin utility. While the Project Server app doesn’t replicate the myriad of tools in the PGAdmin utility… you don’t need those tools for DaVinci Resolve databases. And you certainly shouldn’t be manipulating your databases with PGAdmin unless you know precisely what you’re doing.
Takeaway #3: The Project Server app is a ‘window’ to the SQL database hosted on the computer you’re launching
The Project Server can’t be pointed to a remote database to manipulate. It’s designed specifically to manipulate the SQL databases stored on the computer from which it’s launched. It lists all the Resolve databases ever created on that Server. You can not delete or manipulate those databases beyond the simple Optimize / Export / Import / Upgrade tools the Project Server provides.
What are features I’d like to see implemented on the DaVinci Resolve Project Server App?
I think the Server app is a focused, limited purpose tool that executes its assigned functions very well. But here are a few features that will make it more useful:
- Enhanced Filtering of Databases: My biggest criticism of the Project Server is the inability to re-sort the list of databases with ‘date created’ or ‘date modified’ metadata. If I’m hunting for a database which I’m unsure of its precise name then date modified and date created sorts will definitely help me hunt down those databases.
- Grouping of Databases: Beyond merely being a ‘window’ into the underlying SQL server, I’d like the Project Server to create folders and help me organize those databases – again, under the assumption that I have dozens (or more) databases that I’m hunting through.
- Export an ‘Internal IP’ access key: When I create a database in the Project Server, it would be terrific if I could export an Access Key with the internal IP address of the machine. The idea here is: If I’m running DaVinci Resolve on the same computer that’s hosting the SQL server then I’d want to export an Access Key that properly imports into DaVinci Resolve. As I show in this Insight’s video, we can hack the key to allow this behavior. I’d like eliminate the hack and have a button to ‘export with internal IP address’.
Use the Comments below to discuss!
This is a fairly dry topic. The video below goes over using the Project Server app, plus shows you my hack of the Access Key.
SQL servers are a source of confusion for those of us who haven’t used them. The Comments below are a good place to ask questions or share your tips.