2017-06-01 2 views
0

I erstellt eine Verbindung mit:R dplyr: function db_list_table zurückgibt einen Fehler unter Verwendung PostgreSQL

con <- src_postgres(dbname = 'mydb', 
       host = 'localhost', 
       port = 5432, 
       user = 'postgres', 
       password = 'postgres') 

jedoch Funktionen wie db_list_tables(con) funktionieren nicht: keine anwendbare Methode zur db_list_tables auf ein Objekt der Klasse angewendet "c('src_postgres', 'src_sql', 'src') "

aber ich kann die Tabellen Liste mit SQL erhalten:

print(tbl(con, sql("SELECT table_schema,table_name 
FROM information_schema.tables 
ORDER BY table_schema,table_name")), n=400) 

Auch im zweiten Fall, wie die Nummer der Zeile in der tbl erhalten? Es zeigt ?? X2, und zu versuchen, print n=Inf oder Optionen festlegen (tibble.print_max = Inf) funktioniert nicht:

Source: query [?? x 2] 
Database: postgres 9.4.12 [[email protected]:5432/mydb] 
Error in postgresqlExecStatement(conn, statement, ...) : 
    RS-DBI driver: (could not Retrieve the result : ERROR: column "inf" does not exist 
LINE 5: LIMIT Inf 
      ^


devtools::session_info() 
Session info ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
setting value      
version R version 3.3.3 (2017-03-06) 
system x86_64, linux-gnu   
ui  RStudio (1.0.136)   
language (EN)       
collate en_US.UTF-8     
tz  America/Los_Angeles   
date  2017-06-01     

Packages ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
package  * version date  source   
assertthat 0.2.0 2017-04-11 CRAN (R 3.3.3) 
DBI   * 0.6-1 2017-04-01 CRAN (R 3.3.3) 
devtools  1.12.0 2016-06-24 CRAN (R 3.3.1) 
digest  0.6.12 2017-01-27 CRAN (R 3.3.2) 
dplyr  * 0.5.0 2016-06-24 CRAN (R 3.3.1) 
magrittr  1.5  2014-11-22 CRAN (R 3.1.1) 
memoise  1.1.0 2017-04-21 CRAN (R 3.3.3) 
R6   2.2.0 2016-10-05 CRAN (R 3.3.1) 
Rcpp   0.12.11 2017-05-22 CRAN (R 3.3.3) 
RPostgreSQL * 0.4-1 2016-05-08 CRAN (R 3.3.3) 
rstudioapi 0.6  2016-06-27 CRAN (R 3.3.1) 
tibble  1.3.3 2017-05-28 CRAN (R 3.3.3) 
withr   1.0.2 2016-06-20 CRAN (R 3.3.1) 

Antwort

1

Sie src_tbls(con) sollten versuchen, die Tabellen in der Datenbank aufzulisten.

Um die Zeilen der Tabelle zu erhalten, sollten Sie versuchen tbl(con, 'tbl_name') %>% tally.

dplyr gibt nur die ersten 10 Zeilen zurück und berechnet nicht die tatsächliche Anzahl der Zeilen, warum? wird in diesem Fall verwendet.

+0

Es gibt ein fehlendes 's' am Ende von src_tbl Funktionsname, ich kann Ihre Antwort nicht bearbeiten, da es nur ein Zeichen ist :) – user1946989

Verwandte Themen