当我\dt在psql中执行一个操作时,我只获得当前模式中的表列表(public默认情况下).
如何获取所有模式或特定模式中的所有表的列表?
我正在使用R连接到PostgreSQL数据库。使用以下功能进行连接:
dbConnect(m, dbname=dbname, host=host, port=port, user=user, password=password)
Run Code Online (Sandbox Code Playgroud)
m 是驱动程序(postgres)。
但是它不允许我设置表所在的特定模式名称。我如何连接到特定的架构,以便每次不必在表名之前添加架构名称?
R中是否有等效的语句set search_path = 'myschema'?
我可以使用以下代码块创建与数据库的连接:
library("RJDBC", "DBI")
library("dplyr.snowflakedb")
library("dplyr")
options(dplyr.jdbc.classpath = "/jar_files/snowflake-jdbc-3.10.0.jar")
conn <- src_snowflakedb(
user = "username",
password = "password",
account = "account",
host = "account.eu-west-1.snowflakecomputing.com",
opts = list(
warehouse = "PUBLIC",
db = "PROD",
schema = "SCHEMA")
)
Run Code Online (Sandbox Code Playgroud)
当我跑步时:
class(conn)
Run Code Online (Sandbox Code Playgroud)
我得到:
类(conn)[1]“src_snowflakedb”“src_sql”“src”
如果我跑
db_list_tables(conn$con)
Run Code Online (Sandbox Code Playgroud)
结果是:
db_list_tables(conn$con) [1] "GA_CUSTOMER_CDP_TP" "APPLICABLE_ROLES" "COLUMNS" "DATABASES"
[5] "ENABLED_ROLES" "EXTERNAL_TABLES" "FILE_FORMATS" "FUNCTIONS"
[9] "INFORMATION_SCHEMA_CATALOG_NAME" "LOAD_HISTORY" "OBJECT_PRIVILEGES" "PIPES "
[13] "PROCEDURES" "REFERENTIAL_CONSTRAINTS" "REPLICATION_DATABASES" "SCHEMATA"
[17] "SEQUENCES" "STAGES" "TABLES" "TABLE_CONSTRAINTS"
[21] "TABLE_PRIVILEGES" "TABLE_STORAGE_METRICS" "USAGE_PRIVILEGES" "VIEWS"
[25] " APPLICABLE_ROLES" "COLUMNS" "DATABASES" …