This tutorial shows how to set up a PostgreSQL native interface data source and connect to a PostgreSQL database using the Database Explorer app or the command line. The tutorial uses the libpq driver version 10.12 to connect to a PostgreSQL version 9.405 database.
The configuration steps show configuring the PostgreSQL native data source on the Windows® platform. The same steps work on Linux® and macOS platforms.
Database Toolbox™ includes the libpq driver. Therefore, driver installation and configuration is unnecessary.
You can set up a data source using the Database Explorer app or the command line.
Open the Database Explorer app by clicking the Apps tab on the MATLAB® Toolstrip. Then, on the right of the Apps section, click the Show more arrow to open the apps gallery. Under Database Connectivity and Reporting, click Database Explorer. Alternatively, enter
databaseExplorer at the command line.
In the Data Source section, select Configure Data Source > Configure native data source > PostgreSQL.
The PostgreSQL Data Source Configuration dialog box opens.
In the Name box, enter the name of your data source. (This
example uses a data source named
PostgreSQLDataSource.) You use
this name to establish a connection to your database.
In the Database Name box, enter the name of your database. In the Server box, enter the name of your database server. Consult your database administrator for the name of your database server. In the Port Number box, enter the port number.
Under Connection Options, in the Name column, enter the name of an additional driver-specific option. Then, in the Value column, enter the value of the driver-specific option. Click the plus sign + to specify additional driver-specific options.
Click Test. The Test Connection dialog box opens. Enter the user name and password for your database. Click Test.
If your connection succeeds, the Database Explorer dialog box displays a message indicating the connection is successful. Otherwise, it displays an error message.
Click Save. The PostgreSQL Data Source Configuration dialog box displays a message indicating the data source is saved successfully. Close this dialog box.
Create a PostgreSQL native interface data source for a PostgreSQL database.
vendor = "PostgreSQL"; opts = databaseConnectionOptions("native",vendor);
Set the database connection options. For example, this code assumes that you are
connecting to a data source named
toystore_doc, database server
opts = setoptions(opts, ... 'DataSourceName',"PostgreSQLDataSource", ... 'DatabaseName',"toystore_doc",'Server',"dbtb00", ... 'PortNumber',5432);
Test the database connection by specifying the user name and password.
username = "dbdev"; password = "matlab"; status = testConnection(opts,username,password);
Save the data source.
After you complete the data source setup, connect to the PostgreSQL database using the Database Explorer app or the command line.
On the Database Explorer tab, in the Connections section, click Connect and select the data source for the connection.
In the connection dialog box, enter a user name and password. Click Connect.
The Catalog and Schema dialog box opens.
Select the catalog and schema from the Catalog and Schema lists. Click OK.
The app connects to the database and displays its tables in the Data Browser pane. A data source tab appears to the right of the pane. The title of the data source tab is the data source name that you defined during the setup. The data source tab contains empty SQL Query and Data Preview panes.
Select tables in the Data Browser pane to query the database.
Close the data source tab to close the SQL query. In the Connections section, close the database connection by clicking Close Connection.
If multiple connections are open, close the database connection of your choice by selecting the corresponding data source from the Close Connection list.
Connect to a PostgreSQL database using the configured PostgreSQL native interface data source, user name, and password.
datasource = "PostgreSQLDataSource"; username = "dbdev"; password = "matlab"; conn = postgresql(datasource,username,password);
Close the database connection.