我是PostgreSQL的初学者 .
我想从Postgres的查询编辑器连接到另一个数据库 - 比如MySQL或MS SQL Server的 USE 命令 .
USE
我通过搜索互联网找到了 \c databasename ,但它只在psql上运行 . 当我从PostgreSQL查询编辑器中尝试它时,我收到语法错误 .
\c databasename
我必须通过pgscripting更改数据库 . 有谁知道怎么做?
当您获得与 PostgreSQL 的连接时,它始终指向特定数据库 . 要访问其他数据库,您必须获得新连接 .
PostgreSQL
在psql中使用 \c 将使用指定的数据库和/或凭据关闭旧连接并获取新连接 . 你得到了一个全新的后端流程和一切 .
\c
您必须指定要在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相比太少,其余在我看来 .
在pgAdmin中你也可以使用
SET search_path TO your_db_name;
从我面临的MySQL迁移时的基本问题是,我认为术语 database 在PostgreSQL中也是相同的,但事实并非如此 . 因此,如果我们要从我们的应用程序或 pgAdmin 切换数据库,结果将不会如预期的那样 . 在我的例子中,我们为每个客户和单独的管理模式提供了单独的模式(在此考虑PostgreSQL术语 . ) . 所以在应用程序中,我必须在模式之间切换 .
database
pgAdmin
为此,我们可以使用 SET search_path 命令 . 这会将当前架构切换为当前会话的指定架构名称 .
SET search_path
example:
SET search_path = different_schema_name;
这会将current_schema更改为会话的指定架构 . 要永久更改它,我们必须在 postgresql.conf 文件中进行更改 .
postgresql.conf
首次连接到 psql 时使用此commad
psql
=# psql <databaseName> <usernamePostgresql>
5 回答
当您获得与
PostgreSQL
的连接时,它始终指向特定数据库 . 要访问其他数据库,您必须获得新连接 .在psql中使用
\c
将使用指定的数据库和/或凭据关闭旧连接并获取新连接 . 你得到了一个全新的后端流程和一切 .您必须指定要在connect上使用的数据库;如果你想为你的脚本使用psql,你可以使用“\ c name_database”
此时您可能会看到以下输出
注意提示如何更改 . 干杯,刚刚一直忙着寻找这个,关于postgreSQL的信息与MySQL相比太少,其余在我看来 .
在pgAdmin中你也可以使用
从我面临的MySQL迁移时的基本问题是,我认为术语
database
在PostgreSQL中也是相同的,但事实并非如此 . 因此,如果我们要从我们的应用程序或pgAdmin
切换数据库,结果将不会如预期的那样 . 在我的例子中,我们为每个客户和单独的管理模式提供了单独的模式(在此考虑PostgreSQL术语 . ) . 所以在应用程序中,我必须在模式之间切换 .为此,我们可以使用
SET search_path
命令 . 这会将当前架构切换为当前会话的指定架构名称 .example:
这会将current_schema更改为会话的指定架构 . 要永久更改它,我们必须在
postgresql.conf
文件中进行更改 .首次连接到
psql
时使用此commad