Get The Most Out of Your Postgres Database with SeeQR 

Tags: sql, database, postgres
Published: 2021-01-07 19:58:13

When working on an application or website, configuring your database seems like a very simple task. You have an idea of who your users are, what data they will need access to, and how to query that data. You might have an ERD drawn out and have a general idea of what your schema will look like. However, how do you know (or perhaps more importantly, how can you PROVE to a client or team member) that your database will run efficiently?

SeeQR is an open source dev tool, created for developers to test their Postgres databases and ensure their schemas are optimized for the fastest performance possible. SeeQR also helps ensure your database is scalable, by generating dummy data to simulate growth in your user base. SeeQR’s earlier versions provided query runtime metrics, a sandbox environment with Docker Desktop to protect sensitive database information, and visual comparisons to allow developers to easily keep track of each test (think SeeQR = See Query Results). 

While very helpful, the app itself did need some fine tuning. We wanted to see more metrics, a more user-friendly UX/UI, and remove the need for third-party software to run the app.
We knew there had to be a better way to test databases, without interrupting workflow or running additional software.

Introducing, SeeQR 3.0! Our team went to the drawing board to bring out the best in SeeQR, while reducing its clunkiness (for lack of a better term). The first and most obvious edit we made is a redesign of the application’s layout. The previous versions required users to start on the right side of the screen with query results showing on the left. Most users naturally expect things to read left to right, so this layout made the app more difficult to learn how to use. We wanted the workflow to be more natural, so we switched the layout to make sure the user’s first steps (uploading schemas and writing queries) are on the left side of the screen. Then, query result and data comparison visuals were moved to the right side of the page (pictured below). Our team also changed the labels on some of the buttons to make their purpose more clear to the user, in another effort to make the app easier to pick up and learn immediately. The result is a much more intuitive and user friendly experience.

![Screen Shot 2021-01-07 at 12.14.24 PM](https://dev-to-uploads.s3.amazonaws.com/i/r0h5qny9kf09m0vzqrag.png)
 

Safe Testing with Less Overhead
We also redesigned the way SeeQR creates your testing environment under the hood by letting the app create a local Postgres instance rather than spinning up a Docker container. Now, you’re probably thinking “…But what about my sensitive data?” — not to worry, we thought of this too. You can still test databases in a production environment without fear, and without any third-party software! SeeQR now creates a copy of your database schema and sets up an instance with the copy, rather than using your original schema file. Any queries or changes you make to test your schema’s efficiency will only affect the copy — NOT your original database. So, you can still treat SeeQR like your own personal PSQL playground — with much less overhead!

Another addition we felt was important to give our users was more information about their database’s efficiency (after all, this is a database tool). SeeQR’s first version was great for telling us how efficient our queries were, but didn’t give us any other metrics.
While runtime is important, there is more to think about when optimizing your database.
One example is the data types you will be using (or which you can be using instead). This is why SeeQR now gives you the file size of your database. You can test how different datatypes in your schema affect the size of your database overall, as well as how it will be affected by increasing the amount of that data (using the built in dummy data generator mentioned above).


Finally, our team took SeeQR one step further to solve issues with platform compatibility, barrier to entry, and portability. We created and deployed a web based version of SeeQR with the goal of offering a solution to developers when the desktop version isn’t an option. Users would be able to use SeeQR from any computer that has an internet connection, without worrying about issues like not having admin permissions to install the app, or being tied to their machines where the app is installed. Another concern this takes care of is compatibility and consistency. The web based version of SeeQR aims to give users a consistent experience, regardless of their OS or possible hardware limitations.
Rather than uploading a file, just copy and paste your schema code into the code editor, click submit and your db instance is created via a Postgres API.

You are then able to run queries and see your metrics just like the desktop version!

Note: For Security Purposes, the online db instance expires after 30 minutes

SeeQR 3.0 took a wonderful efficiency tool and made it more efficient! You can test it out for yourself by downloading the latest build at the official SeeQR website. You can also try out the beta version of the web app here . If you like what you see feel free to give us a star on the app’s github, as well as our web version’s github by clicking here. Happy Coding!

Note: SeeQR 3.0 and SeeQR web are currently still in Beta