Reseller FAQ

Posted by Kyle Hankinson March 24, 2021

Purchase links

To purchase a SQLPro product, navigate to the site of the required product and enter the quanity needed.

Quote request

To see pricing, navigate to the product you require above and enter the quantity requred.

Reseller Discount

No reseller discount available unless purchasing a quantity of 50+

Payments accepted

  • Credit card
  • Paypal

Are POs accepted


Can you provide details on an order based on a PO

No. Please provide the the webstore (fastspring) order details.

How does the customer receive the licenses?

The reseller is to forward the license details to the end user. License keys beginning with S2 or MACOSLT can be sent directly to the end user. License keys beginning with S1 must be aliases. Please contact support to request an alias for a license key (include the license key).


Subscritions will automatically renew unless cancelled. Renewal price will be the same as the origional purchase price. If you need information about a renewal (expiration date, license key, etc), you will need to provide the webstore (fastspring) order details.

Renewal Quotes:

Quotes are not provided. Renewals will renew at the same price as the initial purchase.


SQLPro Studio, SQLPro for MSSQL, SQLPro for MySQL and SQLPro for Postgres are yearly licenses. The license will auto-renew unless cancelled (cancellation details are included in the initial email received upon purchase).

SQLPro for SQLite is a lifetime license (does not need to be renewed each year).

App store subscription not activating

Posted by Kyle Hankinson Febuary 2, 2021


Uninstall the app and reinstall it from the App Store. (No data will be lost).


The App Store uses 'Receipts' generated by macOS to let SQLPro know that a subscription is valid. Normally users never need to know about these receipts, as its all taken care of in the background. In some cases, receipts may not be downloaded and even though you have paid for the app it may not recognize this. If this happens, a steps can be taken:

First, try the 'Restore purchase' button on the subscription dialog. Unfortunately, this does not always seem to work.

The second method which has yet to fail, is to Uninstall the app then re-install from the App Store. SQLPro stores your connections securely in the iCloud keychain so no data is lost doing so.


This may continue to occur. Sadly, developers using the Mac App Store have no control over this. If you find this problem persists, I suggest purchasing via the SQLPro website (and use the promo code MAS10 to save 10%). Purchasing through the SQLPro website does not require Apples Receipts and is a much smoother experience for those running into this issue.

Tags: Support

Execute query in cursor range

Posted by Kyle Hankinson September 29, 2020


When the option is disabled, no Current query background highlighting will occur. The Run query button will default to Run all and will not contain a Run current option.

Enabled (as default)

When enabled, the Current query will have a slight highlight. The Run query button will default to Run current, however the dropdown will contain a Run all option.

Enabled (but not default)

When enabled, the Current query will have a slight highlight. The Run query button will still default to Run all, however the dropdown will contain a Run current option.


Posted by Kyle Hankinson September 23, 2020

SQLPro supports multiple cursors. This allows a users to perform certain actions with fewer keystrokes.

There are two different ways available to select multiple cursors. The first, is by holding Option while dragging the mouse cursor up or down between lines.

The second method is by using the keyboard shortcut Command + Option along with ↑/↓.

Once multiple cursors have been selected, the following keyboard shortcuts are available.

  • ←/→ to move text selection to the left and right one character.
  • Option + ←/→ to move text selection left/right one word.
  • Shift + ←/→ to move and highlight text selection to the left and right.
  • Shift + Option + ←/→ to move and highlight text selection left/right one word.
  • Cmd + Delete to delete from the curors beginnings to the end of the next word.
  • Option + Delete to delete from the curors beginnings to the end of the line.
  • Shift + Option + I turns selected text over multiple lines into multiple cursors.

Any feedback or issues with multi-cursor support should be added to the origional request ticket.

Tags: Feature

Counting tables rows in a PostgreSQL database

Posted by Kyle Hankinson August 14, 2020


Need to find out how many rows, or how much data your PostgreSQL tables are consuming? Possibly, looking to find out what the largest tables in the database are? There are a couple of options available depending on your needs.

Single Table

Finding out how many rows are in a single table is the easiest task. Simply run the query:


You will get a single row result which contains the number of rows:from the specified table.

| count(1) |
| 7        |

Multiple Tables

Counting rows from multiple tables at once is a bit more difficult. You can get an estimate by using the following query:

    schemaname as table_schema, relname as table_name, n_live_tup as row_count
    n_live_tup DESC;

A more accurate way to get exact row counts courtesy of stackoverflow would be:

select table_schema, 
       (xpath('/row/cnt/text()', xml_count))[1]::text::int as row_count
from (
  select table_name, table_schema, 
         query_to_xml(format('select count(*) as cnt from %I.%I', table_schema, table_name), false, true, '') as xml_count
  from information_schema.tables
  where table_schema = 'public' --<< change here for the schema you want
) t order by 3 DESC

Using this second method will take longer and be more likely to slow-down other database operations, however the count will be more accurate.

Size on disk

Sometimes row count might not be exactly what you are looking for. If you need to find out how large a table is in bytes, the pg_relation_size method will come to your help. Finding the size for all tables would be:

    pg_size_pretty(pg_relation_size(schemaname || '.' || tablename))

Which will give the schema, table and pretty printed size for each table.

Tags: PostgreSQL

More articles: