PostgreSQL中的"use database_name"命令

sam*_*sam 332 postgresql postgresql-9.1

我是PostgreSQL的初学者.

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

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

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

kgr*_*ttn 348

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

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

  • 如果我没弄错的话,MySQL中的数据库更类似于PostgreSQL中的模式 - 你可以在这些模式之间切换,但PostgreSQL中的数据库是一个完全不同的球赛. (8认同)
  • 查询不能更改 PostgreSQL 中的数据库。 (2认同)
  • 如果您有 PostgreSQL 连接,它始终与数据库关联。要找出哪一个,请向数据库发送以下查询:`select current_database()` (2认同)

Eug*_*ene 202

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

user_name=# CREATE DATABASE testdatabase; 
user_name=# \c testdatabase 
Run Code Online (Sandbox Code Playgroud)

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

You are now connected to database "testdatabase" as user "user_name".
testdatabase=#
Run Code Online (Sandbox Code Playgroud)

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


Bar*_*eck 20

在pgAdmin中你也可以使用

SET search_path TO your_db_name;


VPK*_*VPK 8

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

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

例:

SET search_path = different_schema_name;
Run Code Online (Sandbox Code Playgroud)

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


小智 8

set search_path = 'schema name here'
Run Code Online (Sandbox Code Playgroud)

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

您可以使用 dbeaver 连接到 postgres。用户界面很好


Suk*_*tra 6

首次连接时使用此命令 psql

=# psql <databaseName> <usernamePostgresql>
Run Code Online (Sandbox Code Playgroud)


alv*_*017 6

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

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

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

SELECT session_user, current_database();
Run Code Online (Sandbox Code Playgroud)