将数据从R加载到PosgreSQL数据库中,而不会丢失约束

时间:2018-05-31 07:23:17

标签: r database postgresql dataframe

我正在尝试将一些数据帧从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数据库,同时保留预先设置的约束?

非常感谢!

0 个答案:

没有答案