dbplyr :: in_schema区分大小写

前端之家收集整理的这篇文章主要介绍了dbplyr :: in_schema区分大小写前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
函数dbplyr :: in_schema()无法使用大写字母连接到表.

当我在Postgresql中创建一个表.

CREATE TABLE public."OCLOC"
(
  cod_ocloc double precision NOT NULL,lab_ocloc character varying(255),CONSTRAINT pk_ocloc PRIMARY KEY (cod_ocloc)
);

INSERT INTO public."OCLOC"(
            cod_ocloc,lab_ocloc)
    VALUES (1,'example');

然后我尝试使用R中的in_schema连接到表:

con <- DBI::dbConnect(RPostgresql::Postgresql(),dbname = 'dbname',user = 'user',host = 'host',password = 'password')

 tbl(con,dbplyr::in_schema('public','OCLOC'))

警告以下错误

Error in postgresqlExecStatement(conn,statement,...) : 
  RS-DBI driver: (could not Retrieve the result : ERROR:  no existe la relación «public.ocloc»
LINE 1: SELECT * FROM public.OCLOC AS "zzz3" WHERE 0=1
                  ^
)

但是当我尝试没有in_schema连接时:

tbl(con,'OCLOC')

看起来像一个不区分大小写的问题,当我使用除了public之外的其他模式的数据库并且有大写字母的表名时,这会产生问题.

解决方法

我找到了解决方案如下:在”里面添加“”

tbl(con,'"OCLOC"')

猜你在找的Postgre SQL相关文章