Processing math: 100%

2 votos

¿Es posible leer tablas de un esquema específico con sf::st_read_db()

¿Cómo puedo especificar el esquema desde el que leer una tabla en el st_read_db() en la función sf en R?

Cuando intento

require(RPostgreSQL)
require(sf)

drv = dbDriver("PostgreSQL")
con = dbConnect(drv, dbname = DBname_1, user = DBuser,
                host = DBhost, port = DBport, password = DBpassword)

dat = st_read_db(con, table = "schema1.table1",
      query = "SELECT * FROM schema1.table1 LIMIT 20")

dbDisconnect(con)
dbUnloadDriver(drv)

Me sale el error:

Error: public.schema1.table1 no existe.

Parece que con esta función sólo puedo leer tablas del esquema público. ¿Es esto cierto o he pasado algo por alto? ¿También es posible que esto se deba a la fase inicial del paquete?

3voto

Thomas Eding Puntos 163

Inténtalo:

dat <- st_read_db(con, table = c("schema1", "table1"),
                  query = "SELECT * FROM schema1.table1")

NB : aquí query es inútil ya que está seleccionando todas las filas

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X