![]() |
VOOZH | about |
There are a vast number of PostgreSQL clients available on the Internet. From standard Drivers to BI and Analytics tools, PostgreSQL is a popular interface for data access. Using our JDBC Drivers, you can now create PostgreSQL entry-points that you can connect to from any standard client.
To access Square data as a PostgreSQL database, use the CData JDBC Driver for Square and a JDBC foreign data wrapper (FDW). In this article, we compile the FDW, install it, and query Square data from PostgreSQL Server.
To connect to Square as a JDBC data source, you will need the following:
Driver class:
cdata.jdbc.square.SquareDriver
Square uses the OAuth authentication standard. To authenticate using OAuth, register an app with Square to obtain the OAuthClientId, OAuthClientSecret, and CallbackURL. See the "Getting Started" chapter of the help documentation for a guide to using OAuth.
Additionally, you must specify the LocationId. You can retrieve the Ids for your Locations by querying the Locations table. Alternatively, you can set the LocationId in the search criteria of your query.
For assistance in constructing the JDBC URL, use the connection string designer built into the Square JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.square.jar
Fill in the connection properties and copy the connection string to the clipboard.
👁 Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)A typical JDBC URL is below:
jdbc:square:OAuthClientId=MyAppId;OAuthClientSecret=MyAppSecret;CallbackURL=http://localhost:33333;LocationId=MyDefaultLocation;InitiateOAuth=GETANDREFRESH;
The Foreign Data Wrapper can be installed as an extension to PostgreSQL, without recompiling PostgreSQL. The jdbc2_fdw extension is used as an example (downloadable here).
ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
make install USE_PGXS=1
After you have installed the extension, follow the steps below to start executing queries to Square data:
CREATE EXTENSION jdbc2_fdw;
CREATE SERVER Square FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS ( drivername 'cdata.jdbc.square.SquareDriver', url 'jdbc:square:OAuthClientId=MyAppId;OAuthClientSecret=MyAppSecret;CallbackURL=http://localhost:33333;LocationId=MyDefaultLocation;InitiateOAuth=GETANDREFRESH;', querytimeout '15', jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.square.jar');
CREATE USER MAPPING for postgres SERVER Square OPTIONS ( username 'admin', password 'test');
postgres=# CREATE FOREIGN TABLE refunds ( refunds_id text, refunds_Reason text, refunds_RefundedMoneyAmount numeric) SERVER Square OPTIONS ( table_name 'refunds');
postgres=# SELECT * FROM refunds;
Download a free trial of the Square Driver to get started:
Download NowLearn more:
👁 Square IconEasy-to-use Square client enables Java-based applications to easily consume Square Transactions, Items, Subscriptions, etc.