PostgreSQL: Instantiate a PostgreSQL client from the current R or S-Plus...

View source: R/PostgreSQL.R

PostgreSQLR Documentation

Instantiate a PostgreSQL client from the current R or S-Plus session


This function creates and initializes a PostgreSQL client. It returns an driver object that allows you to connect to one or several PostgreSQL servers.


PostgreSQL(max.con = 16, fetch.default.rec = 500, force.reload = FALSE)



Maximum number of connections that are intended to have open at one time. There's no intrinic limit, since strictly speaking this limit applies to PostgreSQL servers, but clients can have (at least in theory) more than this. Typically there are at most a handful of open connections, thus the internal RPostgreSQL code uses a very simple linear search algorithm to manage its connection table.


number of records to fetch at one time from the database. (The fetch method uses this number as a default.)


should the client code be reloaded (reinitialize)? Setting this to TRUE allows you to change default settings. Notice that all connections should be closed before re-loading.


This object is a singleton, that is, on subsequent invocations it returns the same initialized object.

This implementation allows you to connect to multiple host servers and run multiple connections on each server simultaneously.


An object PostgreSQLDriver that extends dbDriver and dbObjectId. This object is required to create connections to one or several PostgreSQL database engines.

Side Effects

The R/S-Plus client part of the database communication is initialized, but note that connecting to the database engine needs to be done through calls to dbConnect.

User authentication

The passed string can be empty to use all default parameters, or it can contain one or more parameter settings separated by comma. Each parameter setting is in the form parameter = "value". Spaces around the equal sign are optional.

The most important parameters are user, password, host, dbname, port, tty and options.


See for more details on the R/S-Plus database interface.

See the documentation at the PostgreSQL Web site for details.


David A. James

See Also

On database managers:

dbDriver dbUnloadDriver

On connections, SQL statements and resultSets:

dbConnect dbDisconnect dbSendQuery dbGetQuery fetch dbClearResult

On transaction management:

dbCommit dbRollback

On meta-data:

summary dbGetInfo dbGetDBIVersion dbListTables dbListConnections dbListResults dbColumnInfo dbGetException dbGetStatement dbHasCompleted dbGetRowCount dbGetRowsAffected


## Not run: 
# create a PostgreSQL instance and create one connection.
> m <- dbDriver("PostgreSQL")

> con <- dbConnect(m, user="username", password="passwd", dbname="database_name")
> rs <- dbSendQuery(con, "select * sales where price < 10")
> df <- fetch(rs, n = 50)
> dbHasCompleted(rs)
> df2 <- fetch(rs, n = -1)
> dbHasCompleted(rs)
[1] TRUE
> dbClearResult(rs)
> dbListTables(con)    

## End(Not run)

RPostgreSQL documentation built on Feb. 16, 2023, 8:53 p.m.