我是PostgreSQL的初学者。

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

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

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


当前回答

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

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

例子:

SET search_path = different_schema_name;

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

其他回答

set search_path = 'schema name here'

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

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

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

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

例子:

SET search_path = different_schema_name;

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

在pgAdmin中也可以使用

设置搜索路径为your_db_name;

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

=# psql <databaseName> <usernamePostgresql>

您必须指定连接时使用的数据库;如果你想在你的脚本中使用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的信息太少了。