PostgreSQL DB에 데이터를 만들어 넣을 때, RPostgres
패키지를 사용하면 된다. 데이터프레임을 가지고 DB에 select, insert, update, delete
하는 모든 기능을 R프로그램을 이용해서 다 처리할 수 있다. 그 중에, 데이터베이스이름 dbname
과 스키마이름 schema
을 제대로 설정해서 원하는 스키마에 테이블을 만들어보는 것을 정리해본다.
PostgreSQL DB 접속하기
PostgreSQL 에서 creart-01
이란 데이터베이스 영역을 만들고, 그 안에 app01
이라는 스키마를 만들었다. DBeaver SQL툴을 이용해서 접속해보면, 아래와 같은 구조를 확인할 수 있다.
R프로그래밍에서 RPostgres 패키지를 이용하면 쉽게 커넥션 객체를 만들수 있다. 여기서는 dbname
만 셋팅할 수 있다.
library(RPostgres)
library(DBI)
con <- dbConnect(RPostgres::Postgres(),
dbname = 'creart-01',
host = 'localhost',
port = 5432,
user = 'postgres',
password = '1111')
특정 schema에 테이블 만들기
dbWriteTable
을 사용하면 테이블이 만들어지면서 데이터까지 들어가진다. 근데 테이블명만 입력하면, public
스키마에 테이블이 만들어진다.
dbWriteTable(con,
"sofr_rate",
value = tb_sofr_rate)
하지만 app01
스키마에 테이블을 만들고 싶다면, 아래 처럼 Id
함수를 이용해서 테이블을 지정하면 된다. 이렇게되면 app01
스키마 하위에 테이블이 만들어진걸 볼 수 있다.
dbWriteTable(con,
Id(schema = "app01", table = "sofr_rate"),
value = tb_sofr_rate)