Мне нужно сначала определить, есть ли для таблицы созданный первичный ключ, а затем мне нужно создать этот первичный ключ, если он этого не делает, или изменить его, если это так.Существуют ли функции в RPostgres, которые будут предоставлять информацию о первичных ключах для таблицы в Postres, и есть ли функция, которая позволит мне создавать / перезаписывать первичные ключи для указанной таблицы?
Спасибо!
Я использовал dbSendQuery для создания первичного индекса с использованием SQL, но если первичный ключ уже создан, то код взрывается.Пример ниже:
keys_create_tbl <- dbplyr::build_sql(
"ALTER TABLE ", dplyr::sql(table_name),
" ADD CONSTRAINT ", dplyr::sql(paste0(table_name,"_keys"))," PRIMARY KEY (",dplyr::sql(primary_keys),");
")
# Send the query to Postgres
RPostgres::dbSendQuery(pg_conn, keys_create_tbl)