Support Functions
postgresqlSupport.RdThese functions are the workhorse behind the RPostgreSQL package, but
users need not invoke these directly. For details see PostgreSQL.
Usage
## PostgreSQLDriver-related
postgresqlInitDriver(max.con=16, fetch.default.rec = 500, force.reload=FALSE)
postgresqlDriverInfo(obj, what, ...)
postgresqlDescribeDriver(obj, verbose = FALSE, ...)
postgresqlCloseDriver(drv, ...)
## PostgreSQLConnection-related
postgresqlNewConnection(drv, user, password, host, dbname, port,
tty, options, forceISOdate = TRUE)
postgresqlCloneConnection(con, ...)
postgresqlConnectionInfo(obj, what, ...)
postgresqlDescribeConnection(obj, verbose = FALSE, ...)
postgresqlCloseConnection(con, ...)
## PostgreSQLResult-related
postgresqlExecStatement(con, statement, params, ...)
postgresqlFetch(res, n=0, ...)
postgresqlQuickSQL(con, statement, ...)
postgresqlResultInfo(obj, what, ...)
postgresqlDescribeResult(obj, verbose = FALSE, ...)
postgresqlCloseResult(res, ...)
postgresqlDescribeFields(res, ...)
## data mappings, convenience functions, and extensions
postgresqlDataType(obj, ...)
postgresqlReadTable(con, name, row.names = "row.names", check.names = TRUE, ...)
postgresqlWriteTable(con, name, value, field.types, row.names = TRUE,
overwrite=FALSE, append=FALSE, ..., allow.keywords = FALSE)
postgresqlpqExec(con, statement)
postgresqlCopyIn(con, filename)
postgresqlgetResult(con)
postgresqlEscapeStrings(con, preescapedstring)
postgresqlEscapeBytea(con, raw_data)
postgresqlUnescapeBytea(escapedbytea)
postgresqlQuoteId(identifiers)
postgresqlTableRef(identifiers)
postgresqlImportFile(con, name, value, field.types, overwrite=FALSE,
append=FALSE, header, row.names, nrows=50, sep=",", eol="\n",
skip = 0, quote="\"", ...)
## Transaction Management
postgresqlTransactionStatement(con, statement)Arguments
- max.con
positive integer specifying maximum number of open connections. The current default of 10 is hardcoded in the C code.
- fetch.default.rec
default number of rows to fetch (move to R/S-Plus). This default is used in
postgresqlFetch. The default is 500.- force.reload
logical indicating whether to re-initialize the driver. This may be useful if you want to change the defaults (e.g.,
fetch.default.rec). Note that the driver is a singleton (subsequent inits just returned the previously initialized driver, thus this argument).- obj
any of the PostgreSQL DBI objects (e.g.,
PostgreSQLConnection,PostgreSQLResult).- what
character vector of metadata to extract, e.g., "version", "statement", "isSelect".
- verbose
logical controlling how much information to display. Defaults to
FALSE.- drv
an
PostgreSQLDriverobject as produced bypostgresqlInitDriver.- con
an
PostgreSQLConnectionobject as produced bypostgresqlNewConnectionandpostgresqlCloneConnection.- res
an
PostgreSQLResultobject as produced by bypostgresqlExecStatementandpostgresqlgetResult.- user
a character string with the PostgreSQL's user name.
- password
character string with the PostgreSQL's password.
- dbname
character string with the PostgreSQL database name.
- host
character string with the name (or IP address) of the machine hosting the database. Default is
"", which is interpreted aslocalhostby the PostgreSQL's API.- port
(optional) positive integer specifying the TCP port number that the PostgreSQL server is listening to. Consult the PostgreSQL documentation for details.
- tty
Ignored (formerly, this specified where to send server debug output)
- options
Command-line options to be sent to the server
- forceISOdate
logical indicating whether "set datestyle to ISO" is issued upon connection. Although this is made as an option, the conversion needs to be ISO style for proper conversion of the date datatype.
- force
logical indicating whether to close a connection that has open result sets. The default is
FALSE.- statement
character string holding one (and only one) SQL statement.
- params
actual values that is written as parameters in the statement.
- n
number of rows to fetch from the given result set. A value of -1 indicates to retrieve all the rows. The default of 0 specifies to extract whatever the
fetch.default.recwas specified during driver initializationpostgresqlInit.- name
character vector of names (table names, fields, keywords).
- value
a data.frame.
- field.types
a list specifying the mapping from R/S-Plus fields in the data.frame
valueto SQL data types. The default issapply(value,SQLDataType), seePostgreSQLSQLType.- header
logical, does the input file have a header line? Default is the same heuristic used by
read.table, i.e., TRUE if the first line has one fewer column that the second line.- row.names
a logical specifying whether to prepend the
valuedata.frame row names or not. The default isTRUE.- check.names
a logical specifying whether to convert DBMS field names into legal S names. Default is
TRUE.- overwrite
logical indicating whether to replace the table
namewith the contents of the data.framevalue. The defauls isFALSE.- append
logical indicating whether to append
valueto the existing tablename.- nrows
number of lines to rows to import using
read.tablefrom the input file to create the proper table definition. Default is 50.- sep
field separator character.
- eol
end-of-line separator.
- skip
number of lines to skip before reading data in the input file.
- quote
the quote character used in the input file (defaults to
\".- allow.keywords
logical indicating whether column names that happen to be PostgreSQL keywords be used as column names in the resulting relation (table) being written. Defaults to
FALSE, forcingpostgresqlWriteTableto modify column names to make them legal PostgreSQL identifiers.- preescapedstring
character string to be escaped
- raw_data
RAW data to be escaped
- escapedbytea
'escaped' or hex encoded binary data as character
- identifiers
one or more character strings to be used as identfier in SQL statement
- filename
character string indicating the file which contains the data to be copied to the PostgreSQL backend
- ...
placeholder for future use.
Value
postgresqlInitDriver returns an PostgreSQLDriver object.
postgresqlDriverInfo returns a list of name-value metadata pairs.
postgresqlDescribeDriver returns NULL (displays the object's
metadata).
postgresqlCloseDriver returns a logical indicating whether the
operation succeeded or not.
postgresqlNewConnection returns an PostgreSQLConnection object.
postgresqlCloneConnection returns an PostgreSQLConnection object.
postgresqlConnectionInforeturns a list of name-value metadata pairs.
postgresqlDescribeConnection returns NULL (displays the
object's metadata).
postgresqlCloseConnection returns a logical indicating whether the
operation succeeded or not.
postgresqlExecStatement returns an PostgreSQLResult object.
postgresqlFetch returns a data.frame.
postgresqlQuickSQL returns either a data.frame if the statement is
a select-like or NULL otherwise.
postgresqlDescribeResult returns NULL (displays the object's
metadata).
postgresqlCloseResult returns a logical indicating whether the
operation succeeded or not.
postgresqlDescribeFields returns a data.frame with one row per field
with columns name, Sclass, type, len,
precision, scale, and nullOK which fully describe
each field in a result set. Except for Sclass (which shows the
mapping of the field type into an R/S-Plus class) all the information
pertains to PostgreSQL's data storage attributes.
postgresqlReadTable returns a data.frame with the contents of the
DBMS table.
postgresqlWriteTable returns a logical indicating whether the
operation succeeded or not.
postgresqlpqExec returns NUL (executes the statement
but does not try to get result. This is called internally
from postgresqlWriteTable before postgresqlCopyInDataframe
postgresqlCopyIn returns NULL (copies the content
of the file through the socket connection to postgresql backend.
This should be used just after COPY tablename FROM STDIN query. This is not used now.)
postgresqlCopyInDataframe returns NULL (copies the content
of the dataframe through the socket connection to postgresql backend.
Strings are encoded as UTF-8 for transfer. The client_encoding should be set to UTF-8.
This should be used just after COPY tablename FROM STDIN query.)
postgresqlgetResult returns an PostgreSQLResult object.
This is called after completion of execution of postgresqlpqExec.
postgresqlEscapeStrings returns a character string which is escaped properly
so that it can be surrounded with a single quote and used as literal in SQL.
The escape procedure is dependent on the character encoding of the connection.
postgresqlEscapeBytea returns a character string which represents the
raw data proper escape so that it can be surrounded
with a single quote and used as literal in SQL. Note that on 8.X connection E prefix
should exist before the first quote. However this changes the behaviour in 9.0, where
the E should not exist.
postgresqlUnescapeBytea returns a raw data specified by the character string.
The character string should contain the 'escaped' bytea or hex encoded bytea
that was output from the database server.
postgresqlQuoteId returns a character string which is quoted as identifier. Returns vector on vector arguemnt.
postgresqlTableRef returns a character string which is quoted as identifier.
Reterns a charcter string concatenated with "." so that "dbname"."schemaname"."tablename" reference
is created upon c("dbname", "schemaname", "tablename") arguemnt.
postgresqlDataType retuns a character string with the closest
postgresqlResultInfo returns a list of name-value metadata pairs.
postgresqlTransactionStatement returns a logical indicating whether the
operation succeeded or not.