I love DBeaver. It is a versatile and universal SQL client. There are so many great things about it that I love but of course, first of all it is Free, Open Source Software (FOSS). Apart from that, I also love the fact that it I can use it connect to any of the data sources that I use; within the same IDE with lots of great tools. I regularly use Microsoft SQL Server, Firebird and PostgreSQL and having a SQL client that can seamlessly connect between all three is fantastic. There was just so much about SQL Server Management Studio that I thought could have been improved upon but just could never find the features I needed, or the time to build a plugin to it to accomplish what I wanted. The same went for pgadmin 3 ( and just like Highlander 2, let’s just try and forget about pgadmin 4 completely ) and I never did find any half decent feature complete Firebird client.
Even if you only use one DBMS regularly, I’d still recommend you give DBeaver a try; its so feature rich you won’t believe how you survived without it.
One of those features is the ability to persist database filters on connections to help to de-clutter and organise your connection manager. I struggled a bit to figure out exactly where and how to do this, so I thought that I’d share this little tidbit with you.
The Database Manager is pretty standard. It supports nested folders to help organise your connections into appropriate groups.
When adding a Microsoft SQL server, by default all databases (catalogs) are shown. This may not always be useful, as you may have a mix of different databases on a single server that you want to group differently inside your database navigator. In this case, I group all my databases I used for Integration Testing together. This means that I don’t want to see all the databases on the server when accessing the connection from that folder.
In DBeaver I can easily limit the databases shown on any server by using Catalog filtering.
To apply a Catalog filter to a database connection simply open the Connection Properties (F4) for any connection.
Selecting the General tree node will display the Filters box.
Clicking the Catalogs link will open the Catalog Filter window.
Here we can add strings to either include or exclude catalogs from the navigator. Wildcards are also supported; providing for powerful filter expressions.
Click OK once you are done and agree to reconnect to the data source.
You should now see your databases filtered appropriately. In my case, only one database matches my filter expression.
Also, I don’t normally want to see all the other junk, just the schema’s that I use all the time, in this case ‘core’,’log’ and ‘raw’.
I can also filter on schema per connection:
Open the Connection Properties again (F4).
Go to the General settings node and this time click the Schema filter link.
As before, enter the expressions you want for filtering by schema. Click OK and agree to reload the connection.
Now, we have uncluttered nirvana. Just the single database showing and the schemas I want to use.
Of course, you can apply the filters to tables also and not just MSSql Server connections; but any connection.
Definitely give DBeaver a try if you haven’t already. Don’t be daunted by the different approach to Management Studio or other IDEs. It’s worth a bit of time investment to give it a go.