PostgreSQL中的“use database_name”命令

问题描述 投票:302回答:5

我是PostgreSQL的初学者。

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

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

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

postgresql postgresql-9.1
5个回答
320
投票

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

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


196
投票

您必须指定要在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相比太少,其余在我看来。


16
投票

在pgAdmin中你也可以使用

SET search_path TO your_db_name;


7
投票

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

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

例:

SET search_path = different_schema_name;

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


0
投票

首次连接到qazxsw poi时使用此命令

psql
© www.soinside.com 2019 - 2024. All rights reserved.