我正在尝试将一些数据帧从R导入我的PostgreSQL数据库。表格定义如下:
CREATE TABLE fact_citedpubs(
citedpubs_id serial CONSTRAINT fact_citedpubs_pk PRIMARY KEY NOT NULL,
originID integer REFERENCES dim_country(country_id),
yearID integer REFERENCES dim_year(year_id),
citecount double precision
);
在我的数据框中,我有originID,yearID和citecount的值。我的数据框看起来像这样
| YEAR | GEO_DESC |OBS_VALUE
| 8 | 1 | 13.29400
| 17 | 2 | 4.42005
| 17 | 1 | 12.95001
| 15 | 1 | 11.61365
| 14 | 1 | 13.48174
要在postgresql数据库中导入此数据帧,我使用函数dbWriteTable(con, 'fact_citedpubs', citations, overwrite = TRUE)
由于使用overwrite = TRUE
Postgresql删除了所有早期设置的约束(主键,外键和数据类型)。有没有其他方法可以从R中将数据导入postgresql数据库,同时保留预先设置的约束?
非常感谢!