postgres-tables {RPostgres} | R Documentation |
Convenience functions for reading/writing DBMS tables
Description
dbAppendTable()
is overridden because RPostgres
uses placeholders of the form $1
, $2
etc. instead of ?
.
dbWriteTable()
executes several SQL statements that
create/overwrite a table and fill it with values.
RPostgres does not use parameterised queries to insert rows because
benchmarks revealed that this was considerably slower than using a single
SQL string.
Usage
## S4 method for signature 'PqConnection'
dbAppendTable(conn, name, value, copy = NULL, ..., row.names = NULL)
## S4 method for signature 'PqConnection,Id'
dbExistsTable(conn, name, ...)
## S4 method for signature 'PqConnection,character'
dbExistsTable(conn, name, ...)
## S4 method for signature 'PqConnection,Id'
dbListFields(conn, name, ...)
## S4 method for signature 'PqConnection,character'
dbListFields(conn, name, ...)
## S4 method for signature 'PqConnection'
dbListObjects(conn, prefix = NULL, ...)
## S4 method for signature 'PqConnection'
dbListTables(conn, ...)
## S4 method for signature 'PqConnection,character'
dbReadTable(conn, name, ..., check.names = TRUE, row.names = FALSE)
## S4 method for signature 'PqConnection,character'
dbRemoveTable(conn, name, ..., temporary = FALSE, fail_if_missing = TRUE)
## S4 method for signature 'PqConnection,character,data.frame'
dbWriteTable(
conn,
name,
value,
...,
row.names = FALSE,
overwrite = FALSE,
append = FALSE,
field.types = NULL,
temporary = FALSE,
copy = NULL
)
## S4 method for signature 'PqConnection'
sqlData(con, value, row.names = FALSE, ...)
Arguments
conn |
a PqConnection object, produced by
|
name |
a character string specifying a table name. Names will be
automatically quoted so you can use any sequence of characters, not
just any valid bare table name.
Alternatively, pass a name quoted with |
value |
A data.frame to write to the database. |
copy |
If |
... |
Ignored. |
row.names |
Either If A string is equivalent to For backward compatibility, |
prefix |
A fully qualified path in the database's namespace, or |
check.names |
If |
temporary |
If |
fail_if_missing |
If |
overwrite |
a logical specifying whether to overwrite an existing table
or not. Its default is |
append |
a logical specifying whether to append to an existing table
in the DBMS. Its default is |
field.types |
character vector of named SQL field types where
the names are the names of new table's columns.
If missing, types are inferred with |
con |
A database connection. |
Schemas, catalogs, tablespaces
Pass an identifier created with Id()
as the name
argument
to specify the schema or catalog, e.g.
name = Id(catalog = "my_catalog", schema = "my_schema", table = "my_table")
.
To specify the tablespace, use
dbExecute(conn, "SET default_tablespace TO my_tablespace")
before creating the table.
Examples
library(DBI)
con <- dbConnect(RPostgres::Postgres())
dbListTables(con)
dbWriteTable(con, "mtcars", mtcars, temporary = TRUE)
dbReadTable(con, "mtcars")
dbListTables(con)
dbExistsTable(con, "mtcars")
# A zero row data frame just creates a table definition.
dbWriteTable(con, "mtcars2", mtcars[0, ], temporary = TRUE)
dbReadTable(con, "mtcars2")
dbDisconnect(con)