PostgreSQL + SQL Server = WiltonDB

WiltonDB 是一个基于 PostgreSQL 的开源数据库,通过 Babelfish 插件支持 Microsoft SQL Server 协议以及 T-SQL 语句。

Babelfish 是亚马逊提供的一个开源项目,使得 PostgreSQL 数据库同时具有 Microsoft SQL Server 数据查询和处理的能力。Babelfish 可以方便地将 Microsoft SQL Server 应用程序迁移到 PostgreSQL,需要改动的代码很少甚至不需要改动。

PostgreSQL + SQL Server = WiltonDB_第1张图片

WiltonDB 和 Babelfish 使用 Apache 2.0 或者 PostgreSQL 开源协议。

安装 WiltonDB

WiltonDB 支持 Windows 以及 Linux 操作系统。

Windows 平台安装 WiltonDB

WiltonDB 提供了 Windows 操作系统安装包,点击 GitHub 链接下载安装文件。运行安装文件打开以下安装界面:

PostgreSQL + SQL Server = WiltonDB_第2张图片

然后按照界面提示,一步步完成安装。

PostgreSQL + SQL Server = WiltonDB_第3张图片

点击“Finish”完成安装,同时打开配置工具:

PostgreSQL + SQL Server = WiltonDB_第4张图片

通过配置工具可以查看和修改数据库配置。

Linux 平台安装 WiltonDB

对于 Linux 操作系统,可以通过 RPM 包或者 DEB 包进行安装,也可以使用 Docker 容器运行 WiltonDB。

以 Rocky Linux 8 为例,安装命令如下:

$ cat /etc/redhat-release 
Rocky Linux release 8.8 (Green Obsidian)

$ sudo dnf install 'dnf-command(copr)'
$ sudo dnf copr enable wiltondb/wiltondb
$ sudo dnf update
$ sudo dnf install wiltondb

然后通过 wiltondb-setup 脚本初始化数据库集群。

$ sudo wiltondb-setup
 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
 * Initializing WiltonDB
WARNING: DB superuser 'wilton' was created with password 'wilton', please change the password before allowing remote connections.
 * Initialized, use 'systemctl start postgresql' to start the server

初始超级用户 wilton 的默认密码是 wilton,建议使用前进行修改。

最后启动 postgresql 服务。

$ sudo systemctl start postgresql
$ sudo systemctl status postgresql
● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2023-11-07 11:53:52 UTC; 2s ago

连接 WiltonDB

WiltonDB 默认不支持远程连接,这一点和 PostgreSQL 一致。如果想要通过远程客户端进行连接,可以使用 WiltonDB 配置工具(/install_dir/bin/wdb_config.exe)进行配置。

PostgreSQL + SQL Server = WiltonDB_第5张图片

选择“Networking Only”配置组,点击“listen_addresses”进行修改:

PostgreSQL + SQL Server = WiltonDB_第6张图片

完成配置之后,重启 WiltonDB 服务。

使用 SSMS 连接数据库

Microsoft SQL Server Management Studio(SSMS)可以用于连接 WiltonDB,默认端口为 1433。

连接数据库时,输入以下连接信息:

PostgreSQL + SQL Server = WiltonDB_第7张图片

其中,主机地址和端口之间使用逗号(,)进行分隔。

连接成功后可以执行 SQL 语句:

PostgreSQL + SQL Server = WiltonDB_第8张图片

使用 pgAdmin 连接数据库

pgAdmin 可以通过 PostgreSQL 协议连接 WiltonDB,默认端口为 5432。

PostgreSQL + SQL Server = WiltonDB_第9张图片

连接成功之后,pgAdmin 可以查看和操作 SSMS 创建的对象。

PostgreSQL + SQL Server = WiltonDB_第10张图片

使用命令行连接数据库

连接 Microsoft SQL Server 或者 PostgreSQL 的命令行客户端,例如 sqlcmd 以及 psql,都可以用于连接 WiltonDB。

sqlcmd 连接数据库的示例如下:

$ ./sqlcmd -S 127.0.0.1,1433 -U wilton -P wilton
1> select @@version
2> go
version                                                                                                                                                                                                                                                         
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Babelfish for PostgreSQL with SQL Server Compatibility - 12.0.2000.8
Oct 22 2023 17:48:32
Copyright (c) Amazon Web Services
PostgreSQL 15.4 (EL 1:15.4.wiltondb3.3_2-2.el8) on x86_64-redhat-linux-gnu (Babelfish 3.3.0)                                        

(1 row affected)

你可能感兴趣的:(Microsoft,SQL,Server,PostgreSQL,postgresql,数据库,sqlserver)