“使用database_name"命令

我是PostgreSQL的初学者。

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

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

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

553854 次浏览

当你连接到PostgreSQL时,它总是连接到一个特定的数据库。要访问不同的数据库,必须获得一个新的连接。

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

您必须指定连接时使用的数据库;如果你想在你的脚本中使用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=#

注意提示符是如何变化的。Cheers,我也一直在忙着找这个,在我看来,与MySQL相比,postgreSQL的信息太少了。

在pgAdmin中也可以使用

设置搜索路径为your_db_name;

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

为此,我们可以使用SET search_path命令。这确实会将当前模式切换为当前会话的指定模式名。

例子:

SET search_path = different_schema_name;

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

当第一次连接到psql时使用这个命令

=# psql <databaseName> <usernamePostgresql>

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

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

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

SELECT session_user, current_database();
set search_path = 'schema name here'

在连接到postgres时,必须选择默认数据库进行连接。如果你什么都没有,你可以使用'postgres'作为默认值。

您可以使用dbeaver连接到postgres。UI很好