RPostgreSQL错误关系" tablename"不存在

时间:2011-12-28 17:36:42

标签: r postgresql

我是新手试图了解R和PostgreSQL如何相互交谈。我最近只使用R进行数据分析,但现在,我试图直接从数据库导入。我已经安装了RPostgreSQL并连接到我的数据库,我可以看到所有的表但我无法编辑它们。我希望从中获取一些数据,但是当我运行

以下代码:

>query<-"SELECT * FROM Events"
> rs <- dbSendQuery(con,query)
Error in postgresqlExecStatement(conn, statement, ...) : 
  RS-DBI driver: (could not Retrieve the result : ERROR:  relation "events" does not exist
LINE 1: SELECT * FROM Events

我的其他表名也不好。 “Alarm_Reports”,“Configuration”,“Event_Details”,“Events”

对于我缺少的表格,有什么基本的东西吗?

感谢所有帮助。

1 个答案:

答案 0 :(得分:6)

正如我在评论中提到的,可能需要引用。以下是我们的单元测试文件中的实际代码:

res <- dbGetQuery(con, "create table Foo1 (f1 int)")
res <- dbGetQuery(con, "create table \"Foo2\" (f1 int)")

cat("Test should create foo1 and Foo2 tables\n")
## res <- dbGetQuery(con, paste("SELECT * FROM information_schema.tables",
##                              "WHERE table_schema = 'public'")
## print res

if (dbExistsTable(con, "Foo1")) {
    cat("FAIL - Foo1 Table exists.\n")
}
else {
    cat("Pass - Foo1 Table does not exist.\n")
}

if (dbExistsTable(con, "foo1")) {
    cat("Pass - foo1 Table exists.\n")
}
else {
    cat("FAIL - foo1 Table does not exist.\n")
}

if (dbExistsTable(con, "Foo2")) {
    cat("Pass - Foo2 Table exists.\n")
}
else {
    cat("FAIL - Foo2 Table does not exist.\n")
}

if (dbExistsTable(con, "foo2")) {
    cat("FAIL - foo2 Table exists.\n")
}
else {
    cat("Pass - foo2 Table does not exist.\n")
}

if (dbExistsTable(con, "\"Foo2\"")) {
    cat("FAIL - \"Foo2\" Table exists.\n")
}
else {
    cat("Pass - \"Foo2\" Table does not exist.\n")
}

if (dbExistsTable(con, "\"foo2\"")) {
    cat("FAIL - \"foo2\" Table exists.\n")
}
else {
    cat("Pass - \"foo2\" Table does not exist.\n")
}

res <- dbGetQuery(con, "drop table Foo1")
res <- dbGetQuery(con, "drop table \"Foo2\"")