RazorSQL

Query, Edit, Browse, and Manage Databases

Many times, web hosting providers include PostgreSQL as part of their hosting packages,
but do not allow users to connect to the PostgreSQL database from a remote location.
This forces users to use a web based application to access their PostgreSQL database
instance, or resort to complex solutions such as SSH tunneling. The RazorSQL
PostgreSQL PHP Bridge
allows users to connect to a PostgreSQL database with the simple deployment of a PHP page,
and allows them to get the added functionality of a desktop application like RazorSQL
as opposed to the limited functionality of web-based database access.

The RazorSQL PostgreSQL PHP Bridge provides the ability for users to interact with
a PostgreSQL database without making a direct connection to the database. Instead,
the user connects to the RazorSQL PostgreSQL PHP Bridge, which then connects to the database.
The RazorSQL PostgreSQL PHP Bridge is a PHP program that can be deployed on any web
server that supports PHP and has the necessary PostgreSQL PHP libraries installed.
Since the PHP page resides on the hosting provider's web server, even if remote
access is disabled on the PostgreSQL database, the PHP page will still be able to connect.

As an added bonus, if your web server supports SSL, the RazorSQL PostgreSQL PHP Bridge can
be used to securely transmit your data from your desktop to your PostgreSQL database instance.

Requirements

The RazorSQL PostgreSQL PHP Bridge requires a web server with PHP support and
the PostgreSQL PHP libraries must be installed and configured.

Deployment

All of the RazorSQL PHP and ASP bridges are located in the following zip file. The PostgreSQL PHP bridge
is named razorsql_postgresql_bridge.php.

To deploy the bridge, simply upload this file to a PHP enabled web server. You can do this using
an FTP client or your web hosting provider's control panel.

Also included is a test page to check to see if PostgreSQL can be accessed via the web server.
The test page is located here:

<RazorSQL Install Directory>/bridge/test_postgresql_setup.php

To test the PostgreSQL setup, simply copy this file to a PHP enabled web server, access
the page, and follow the instructions.

Security

The RazorSQL PostgreSQL PHP Bridge can work via either HTTP or HTTPS. If retrieving sensitive data,
it is recommended that HTTPS be used.

The RazorSQL PostgreSQL PHP Bridge provides the ability to supply a bridge password. Only
calls to the brige that include a correct password will be handled. The bridge
ships with a default password of radmin. It is recommended that this password be
changed. To change the password, simply replace the radmin in the following line of
the bridge PHP page with another password.

$checkPassword = 'radmin';

Accessing the Bridge

Once the bridge PHP page is deployed to a web server, the bridge can
be called via either HTTP or HTTPS if your web server supports SSL.

To set up a connection profile
that communicates via the PostgreSQL PHP bridge, simply access the Connections -> Add Connection
Profile menu option, select PostgreSQL as the database type and RazorSQL PostgreSQL PHP Bridge
as the connection type. There are then fields displayed such as Bridge URL, Bridge Password,
etc. Listed below is information on these fields.

Bridge URL:
Enter the web address of the deployed bridge page in this field. For example,
http://www.myhost.com/razorsql_postgresql_bridge.php.

Bridge Password:
Enter the bridge password in this field. The default is radmin. Enter your own custom password
if you modified the bridge php page to change the default password.

Login: This is your PostgreSQL user id.

Password: This is your password to your PostgreSQL database.

Host or IP Address: This is the host or IP address of your PostgreSQL database. This is
different depending on the web host. For example, the host name could be localhost, or an actual server name.

Port: The port is generally the default port of 5432.

Database Name: The name of the PostgreSQL database you wish to connect to, such
as public, or the name of a database you created.

Since the bridge does not hold on to connections, but instead opens and closes connections
for each call, the bridge cannot do multiple fetches to the database for the same query.
Because of this, there is a field call "max rows to return" located in the add connection
profile screen when setting up the bridge. The value of this field tells the bridge
the maximum number of rows to fetch per query. If set too high, this could cause performance
problems.

Limitations

There are certain features of RazorSQL that are not available when using the RazorSQL PostgreSQL PHP Bridge.
The Execute Procedure/Function tool is not available. Also, all connections via the bridge are
set to auto commit since connections are not held onto by the bridge.