Postgres 的 "\connect" 命令的 JDBC 对应项是啥?
Posted
技术标签:
【中文标题】Postgres 的 "\\connect" 命令的 JDBC 对应项是啥?【英文标题】:What is JDBC counterpart of Postgres' "\connect" command?Postgres 的 "\connect" 命令的 JDBC 对应项是什么? 【发布时间】:2017-10-18 18:14:40 【问题描述】:我正在尝试通过 JDBC 连接执行以下 Postgres 9.6 命令
CREATE USER my_db WITH SUPERUSER PASSWORD 'my_db';
CREATE DATABASE my_db;
GRANT ALL PRIVILEGES ON DATABASE my_db TO my_db;
\connect my_db; -- THIS ONE FAILS
SET ROLE my_db;
CREATE SCHEMA my_db AUTHORIZATION my_db;
"\connect" 命令因无法识别而失败。有没有办法连接其他数据库保持在同一个 JDBC 连接中?
UPD:“CONNECT TO ...”和“EXEC SQL CONNECT TO ...”也失败了。
【问题讨论】:
文档应该可以帮助你:Connecting to the DB over JDBC 你注意到我已经有 JDBC 连接了吗? 当您没有共享任何 JDBC / Java 代码时,我怎么会注意到这一点?我也不清楚你想在这里做什么。 拥有新的服务器和“postgres”超级用户,我想在这个新数据库中创建另一个数据库和模式,保持在同一个 JDBC 连接中。我知道可以使用两个后续的 JDBC 连接来做到这一点。但是,这不是我的选择 打开新连接是唯一的方法。 【参考方案1】:反斜杠命令不是 PostgreSQL SQL 命令,它们是psql
命令行实用程序中的命令。在幕后,\connect
只是关闭连接并打开一个新连接。
PostgreSQL 本身没有任何方法在连接上切换数据库。
断开并重新连接到另一个数据库。
【讨论】:
以上是关于Postgres 的 "\connect" 命令的 JDBC 对应项是啥?的主要内容,如果未能解决你的问题,请参考以下文章
Kafka Connect 使用数组字段展平 postgres 记录的转换
如何通过 SQL 命令更改 Postgres 的 max_connections
使用debeziumkafka-connect将postgres数据实时同步到kafka中