首页 文章

PostgreSQL中的“use database_name”命令

提问于
浏览
273

我是PostgreSQL的初学者 .

我想从Postgres的查询编辑器连接到另一个数据库 - 比如MySQL或MS SQL Server的 USE 命令 .

我通过搜索互联网找到了 \c databasename ,但它只在psql上运行 . 当我从PostgreSQL查询编辑器中尝试它时,我收到语法错误 .

我必须通过pgscripting更改数据库 . 有谁知道怎么做?

5 回答

  • 174

    当您获得与 PostgreSQL 的连接时,它始终指向特定数据库 . 要访问其他数据库,您必须获得新连接 .

    在psql中使用 \c 将使用指定的数据库和/或凭据关闭旧连接并获取新连接 . 你得到了一个全新的后端流程和一切 .

  • 293

    您必须指定要在connect上使用的数据库;如果你想为你的脚本使用psql,你可以使用“\ c name_database”

    user_name=# CREATE DATABASE testdatabase; 
    user_name=# \c testdatabase
    

    此时您可能会看到以下输出

    You are now connected to database "testdatabase" as user "user_name".
    testdatabase=#
    

    注意提示如何更改 . 干杯,刚刚一直忙着寻找这个,关于postgreSQL的信息与MySQL相比太少,其余在我看来 .

  • 3

    在pgAdmin中你也可以使用

    SET search_path TO your_db_name;

  • 0

    从我面临的MySQL迁移时的基本问题是,我认为术语 database 在PostgreSQL中也是相同的,但事实并非如此 . 因此,如果我们要从我们的应用程序或 pgAdmin 切换数据库,结果将不会如预期的那样 . 在我的例子中,我们为每个客户和单独的管理模式提供了单独的模式(在此考虑PostgreSQL术语 . ) . 所以在应用程序中,我必须在模式之间切换 .

    为此,我们可以使用 SET search_path 命令 . 这会将当前架构切换为当前会话的指定架构名称 .

    example:

    SET search_path = different_schema_name;
    

    这会将current_schema更改为会话的指定架构 . 要永久更改它,我们必须在 postgresql.conf 文件中进行更改 .

  • 12

    首次连接到 psql 时使用此commad

    =# psql <databaseName> <usernamePostgresql>
    

相关问题