The sf::st_read
supports reading from spatial postgres database; it will load the data locally (equivalent to a collect()
call - so no linking, & you can not offload the heavy lifting to a database backend, at present) but you can do something like
shape <- sf::st_read(con, query = 'select something, something_else, geometry
from a_postgres_table
where a_condition_is_met;')
and you will end up with a data.frame of class sf, ready for further processing.