Welcome to QLStico(beta): An easy-to-use desktop application redefining Postgres database access and visualization through an intuitive UI and the power of GraphQL.
Getting Started
Requirements
MacOS is fully supported, Linux supported through manually compiling the package. Postgres must be accessible on your machine and/or remote server on port 5432.
How to Install
Beta Release 0.0.1 Download available at www.qlstico.io You may need to configure your security settings to allow downloaded file to open
Features
Creating a Connection
Upon opening the app, you will be brought to your Connections
page:
You have the option to specify a Postgres connection you wish to create and store via the Create Connection
button. By default, the User
and Host
fields are pre-populated with your OS's currently logged in username and 'localhost', respectively.
In most cases, unless you have a protected connection, this should be good enough to hit submit and create a valid local connection configuration. Otherwise, feel free to provide a Password
and/or a different Host
to connect to (default port is 5432). Leaving the Database Name
field empty will render all databases found for that connection, and entering a specific database name in that field will isolate connections to only that database.
You may also connect to remote Postgres databases by entering all required credentials in the form fields and clicking the checkbox to enable SSL:
After creating a connection configuration, you are brought back to the Connections
page where your created configuration is stored as a tile for future use. You may have several connection configurations that will all exist as their own tile. Hit Connect
on any existing connection tile to use that connection configuration.
Editing a Connection
You always have the option to Edit
existing connections or Remove
them right from their respective tile's buttons!
Viewing Databases
After establishing a valid local or SSL connection, you will see all your PG databases rendered as tiles (or if a specific database name was specified on the configuration form, only that database tile will show). Double-click any tile to enter the database of choice!
Adding/Deleting Databases
You have the option of pressing the Add A Database
button at any time while on this page. This will prompt you to provide a database name to create. You will recieve confirmation creation upon successful creation, or be notified of any error.
You also have the option of deleting a database by single-clicking to select it (indicated with dark grey background behind tile), and the Remove Database
button will apear at the top of the page. Clicking this will prompt confirmation before deletion. You will be notified of successful deletion, or if any error occured.
Viewing Tables
You are able to view all tables contained by a database. You may double-click on any of these tiles to enter the table and see it's contents.
Adding/Deleting Tables
Similar to adding/deleting databases, you can add or delete a table to the database by pressing the corresponding Add a Table
or Remove Table
buttons (deletion option available upon single-clicking a table to select it).
Generating GraphQL Queries & Mutations
At the top of the all tables view, there are corresponding GraphQL Queries
and Visualize Schema
buttons. Clicking the GraphQL Queries
button will open a seperate window with a PostGraphiQL IDE which represents you database tables in a GraphQL queriable format.
You can write a GraphQL query or GraphQL mutation in the lefthand input section, and once your command is complete, click Play button near top. If your query has any errors, an error message will display telling you exactly where the error occured.
After clicking Play, you will be able to see your results in the righthand Results section. Additionally, the Docs
and Explorer
buttons will reveal helpful information to help contruct
GraphQL queries.
Visualizing GraphQL Schema
Next to the GraphQL Queries
button, the Visualize Schema
button will open a new window that shows a visual representation of the current database's table relations. These are generated using the same GraphQL schema used for the PostGraphiQL IDE.
Table Contents Grid View
Upon entering a table, a grid is generated comprised of all of it's contents. You may single-click to select a row, prompting the Remove Row
button to appear to give the option of deletion.
Double-clicking a row sets that row into edit mode for you to modify any of the row's contents. Upon changing any item(s), you may hit submit to update your table with these changes. Any errors in updating will be reported back to you.
Navigation
Navigating between different page views is as easy as pressing any of the breadcrumb links in the Nav Bar, or pressing the back arrow to go to the immediately preceeding page. You may also click the QLSTico icon to be brought back to your connections page.
The refresh button retrieves any new information included in your databases that were created or modified outside of QLStico.
Common Issues
If you have pulled a new version of the application and clicking the DB connection tile crashes the app, delete your existing connection tile and create a new one. If you continue to experience difficulty,please submit a Github issue.
Resources
Built on Electron, React and Postgraphile.
Creators: Ricardo Pineda, Jack Dwyer, William Golden, Sri Velagapudi