At Compose we're always on the lookout for new ways to work with your databases. Database administration and browsing tools are especially popular. After we ran our Compose data browsing guide we've come across two new contenders which work with PostgreSQL and Redis. So we thought we would drill down on SQLPro for Postgres and Keylord...
SQLPro for Postgres
In the world of PostgreSQL, there's only been a few client side data browsers. That's in part down to the existence of PGadmin3, the all-singing Swiss Army knife of admin tools. But its strength is also its weakness as there's so much functionality in there that it's like getting handed the Swiss Army knife with all the blades out. So there's been a move to make simpler, data-centric PostgreSQL browsing applications. And thats where SQLPro for Postgres comes in.
SQLPro is a Mac OS X only application with a very neat and deceptively simple front end concealing a lot of functionality – it's very much a classic Mac application. On the left hand side of the window, it shows a tree, rooted in connections to PostgreSQL database instances with databases as children. Each database has just three children, Tables, Views and Functions letting you get at the most commonly created and modified elements of a Postgres database. The right hand side of the window is a tabbed editor/results viewer.
The editor is an autocompleting, SQL syntax highlighting edit whose contents will be run on clicking the "Execute All" button. The results appear in a multiple table view below the editor which, when multiple result sets are returned by the executed SQL, uses slidable paned tables in the view. This is great for, for example, comparing results of two queries. Queries can also be saved locally and the results view is also an in-place editor for the data values.
It's not just tables you can do this with, views can be edited and their results browsed too. Tables and views also expand out in the tree to present their component fields, complete with type and default information and key fields marked with a key.
SQLPro does have the un-Mac habit is putting most of the editing functions in context menus on the tree view, tucked away. Want to modify a function? Select 'Alter Function' from its context menu. Want to drop a column? 'Drop Column' is in each column's context menu. Want to create or modify a table? "New Table" and "Alter Table" are in the context menu for the database and all the tables. Table modification is one time the right hand side UI changes, away from an editor to two tables of columns and indexes and one of the more competent table creation interfaces around though it could do with giving more assistance in selecting column types.
And there's still more features to make scripting your database easier by creating scripts for particular functions. And where you have two or more databases open, you can switch between them, applying the same SQL between them.
SQLPro for Postgres is one of the most focussed and competent SQL database browsers we've seen here and it is definitely worth a look. There's a downloadable version and currently the browser is selling for $6.
Keylord for Redis
Designed for key-value databases like Redis (and LevelDB), Keylord is across-platform (Windows, Mac OS X and Linux) application which sets out to give a multi-column browser view of the Redis key-value store. All it needs to connect is the host, port and password for Redis installations that are visible on the web, though it also has support for connections over SSH tunnels.
Once connected, you can see and filter the key list on the database and click in on any of the keys to see their contents. The UI supports examining and editing of Hash, List, Set, Ordered Set and String keys. It also supports the HyperHyperLog value though, due to its being a rather clever data structure for counting unique values, only takes a string value entered yet shows you the number of unique values that it has seen. As well as editing existing key-value pairs, it can also create new key-values with the same selection of types as it can browse. For some fields there's also the option of a hex view of the value, making Keylord more useful if files are stored in the database.
And that's about it. For each different database on a Redis instance you have to create a new connection. Performance in downloading the keys is good but there's no key sorting to make them easier to browse. There's also no TTL setting or display and the list views require manual refreshing - if you have two tabs open on the same database and delete items in one tab, you need to remember to refresh the other tab before using it. There's also a lack of commands for administering the database.
It's a solid foundation for what could be a fine tool for Redis users but you are likely to be running it alongside the Redis CLI for any database administration or debugging. Keylord costs $29 for a personal license and $49 per seat for the enterprise licence. There is a downloadable trial version if you want to try it out.