Main Content

postgresql

Create PostgreSQL native interface database connection

Since R2020b

Description

conn = postgresql(datasource,username,password) creates a PostgreSQL native interface database connection using the specified data source, user name, and password. conn is a connection object.

example

conn = postgresql(username,password,Name,Value) creates a PostgreSQL native interface database connection using the specified user name and password, with additional options specified by one or more name-value pair arguments. For example, "Server","dbtb00" specifies the database server name as dbtb00.

example

Examples

collapse all

Create a PostgreSQL native interface connection to a PostgreSQL database. Then, import data from the database into MATLAB® and perform simple data analysis. Close the database connection.

This example assumes that you are connecting to a PostgreSQL database version 9.405 using the libpq driver version 10.12.

Connect to the database using the data source name, user name, and password.

datasource = "PostgreSQLDataSource";
username = "dbdev";
password = "matlab";

conn = postgresql(datasource,username,password)
conn = 
  connection with properties:

                  DataSource: "PostgreSQLDataSource"
                    UserName: "dbdev"

  Database Properties:

                  AutoCommit: "on"
                LoginTimeout: 0
      MaxDatabaseConnections: 100

  Catalog and Schema Information:

              DefaultCatalog: "toystore_doc"
                    Catalogs: "toystore_doc"
                     Schemas: ["pg_toast", "pg_temp_1", "pg_toast_temp_1" ... and 3 more]

  Database and Driver Information:

         DatabaseProductName: "PostgreSQL"
      DatabaseProductVersion: "9.405"
                  DriverName: "libpq"
               DriverVersion: "10.12"

The property sections of the connection object are:

  • Database Properties — Information about the database configuration

  • Catalog and Schema Information — Names of catalogs and schemas in the database

  • Database and Driver Information — Names and versions of the database and driver

Import all data from the table inventoryTable into MATLAB using the sqlread function. Display the first three rows of data.

tablename = "inventoryTable";
data = sqlread(conn,tablename);
head(data,3)
ans=3×4 table
    productnumber    quantity    price        inventorydate    
    _____________    ________    _____    _____________________

          1            1700      14.5     "2014-09-23 09:38:34"
          2            1200         9     "2014-07-08 22:50:45"
          3             356        17     "2014-05-14 07:14:28"

Determine the highest product quantity from the table.

max(data.quantity)
ans = 9000

Close the database connection conn.

close(conn)

Create a PostgreSQL native interface connection to a PostgreSQL database using name-value pair arguments. Then, import data from the database into MATLAB® and perform simple data analysis. Close the database connection.

This example assumes that you are connecting to a PostgreSQL database version 9.405 using the libpq driver version 10.12.

Connect to the database using the user name and password shown. Specify the database server name dbtb00, database name toystore_doc, and port number 5432 by setting the corresponding name-value pair arguments.

username = "dbdev";
password = "matlab";

conn = postgresql(username,password,'Server',"dbtb00", ...
    'DatabaseName',"toystore_doc",'PortNumber',5432)
conn = 
  connection with properties:

                    Database: "toystore_doc"
                    UserName: "dbdev"

  Database Properties:

                  AutoCommit: "on"
                LoginTimeout: 0
      MaxDatabaseConnections: 100

  Catalog and Schema Information:

              DefaultCatalog: "toystore_doc"
                    Catalogs: "toystore_doc"
                     Schemas: ["pg_toast", "pg_temp_1", "pg_toast_temp_1" ... and 3 more]

  Database and Driver Information:

         DatabaseProductName: "PostgreSQL"
      DatabaseProductVersion: "9.405"
                  DriverName: "libpq"
               DriverVersion: "10.12"

The property sections of the connection object are:

  • Database Properties — Information about the database configuration

  • Catalog and Schema Information — Names of catalogs and schemas in the database

  • Database and Driver Information — Names and versions of the database and driver

Import all data from the table inventoryTable into MATLAB using the sqlread function. Display the first three rows of data.

tablename = "inventoryTable";
data = sqlread(conn,tablename);
head(data,3)
ans=3×4 table
    productnumber    quantity    price        inventorydate    
    _____________    ________    _____    _____________________

          1            1700      14.5     "2014-09-23 09:38:34"
          2            1200         9     "2014-07-08 22:50:45"
          3             356        17     "2014-05-14 07:14:28"

Determine the highest product quantity from the table.

max(data.quantity)
ans = 9000

Close the database connection conn.

close(conn)

Input Arguments

collapse all

Data source name, specified as a character vector or string scalar. Specify the name of an existing data source.

Example: "myDataSource"

Data Types: char | string

User name required to access the database, specified as a character vector or string scalar. If no user name is required, specify an empty value "".

Data Types: char | string

Password required to access the database, specified as a character vector or string scalar. If no password is required, specify an empty value "".

Data Types: char | string

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: conn = postgresql(username,password,"Server","dbtb00","PortNumber",5432,"DatabaseName","toystore_doc") creates a PostgreSQL native interface database connection using the database server dbtb00, port number 5432, and database name toystore_doc.

Database server name or address, specified as the comma-separated pair consisting of 'Server' and a string scalar or character vector.

Example: "dbtb00"

Data Types: char | string

Port number, specified as the comma-separated pair consisting of 'PortNumber' and a numeric scalar.

Example: 5432

Data Types: double

Database name, specified as the comma-separated pair consisting of 'DatabaseName' and a string scalar or character vector. If you do not specify a database name, the postgresql function connects to the default database on the database server.

Example: "toystore_doc"

Data Types: char | string

Version History

Introduced in R2020b