PostgreSQL中的“use database_name”命令

时间:2012-04-26 14:30:52

标签: postgresql postgresql-9.1

我是PostgreSQL的初学者。

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

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

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

6 个答案:

答案 0 :(得分:320)

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

在psql中使用\c将使用指定的数据库和/或凭据关闭旧连接并获取新连接。您将获得一个全新的后端流程和所有内容。

答案 1 :(得分:195)

您必须指定要在连接时使用的数据库;如果要将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和其他我认为的其他信息相比太少了。

答案 2 :(得分:16)

在pgAdmin中,您也可以使用

  

将search_path设为TO_db_name;

答案 3 :(得分:7)

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

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

示例:

SET search_path = different_schema_name;

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

答案 4 :(得分:0)

在首次连接到psql

时使用此逗号
=# psql <databaseName> <usernamePostgresql>

答案 5 :(得分:0)

PgAdmin 4,GUI 工具:在数据库之间切换

  1. 在左侧的 PgAdmin 浏览器中,右键单击您要切换到的数据库。
  2. 从下拉菜单中选择一个 QueryTool(或您需要的任何其他选项,我现在将坚持使用 QueryTool)。
  3. 您将在 PgAdmin 窗口中看到 QueryTool,在顶部您将看到活动数据库和角色名称。
  4. 现在您可以针对所选数据库编写查询。
  5. 您可以为多个数据库打开多个 QueryTools,并像使用图形文本编辑器一样使用它们。

为了确保您查询的是正确的数据库,请发出以下查询:

SELECT session_user, current_database();