ChatGPT解决这个技术问题 Extra ChatGPT

PostgreSQL 中的“使用数据库名称”命令

我是 PostgreSQL 的初学者。

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

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

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

另一种选择是直接连接到架构。示例:sudo -u postgres psql -d my_database_nameSource
在 pgAdmin 中,您可以右键单击您的数据库并选择“查询工具”以在该数据库上运行查询。
如果创建表,请在表名前添加数据库前缀:CREATE TABLE database.tablename;

V
VPK

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

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


感谢 kgrittn 的宝贵指导。您能告诉我如何使用 pgscript 查询建立与数据库的新连接并关闭以前的连接吗?
查询不能更改 PostgreSQL 中的数据库。
感谢 kgrittn 的所有帮助.. :)
如果我没记错的话,MySQL 中的数据库更类似于 PostgreSQL 中的模式——你可以在它们之间切换,但 PostgreSQL 中的数据库是完全不同的球赛。
如果你有一个 PostgreSQL 连接,它总是与一个数据库相关联。要找出是哪一个,请向数据库发送以下查询:select current_database()
E
Eugene

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

注意提示的变化。干杯,我也一直在忙着寻找这个,与 MySQL 相比,关于 postgreSQL 的信息太少了,在我看来。


B
Bart De Boeck

在 pgAdmin 你也可以使用

将 search_path 设置为 your_db_name;


V
VPK

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

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

例子:

SET search_path = different_schema_name;

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


S
Sukma Saputra

首次连接到 psql 时使用此逗号

=# psql <databaseName> <usernamePostgresql>

a
alv2017

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

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

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

SELECT session_user, current_database();

P
Pathanjali Tallapragada
set search_path = 'schema name here'

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

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