WiltonDB 是一個(gè)基于 PostgreSQL 的開源數(shù)據(jù)庫,通過 Babelfish 插件支持 Microsoft SQL Server 協(xié)議以及 T-SQL 語句。
Babelfish 是亞馬遜提供的一個(gè)開源項(xiàng)目,使得 PostgreSQL 數(shù)據(jù)庫同時(shí)具有 Microsoft SQL Server 數(shù)據(jù)查詢和處理的能力。Babelfish 可以方便地將 Microsoft SQL Server 應(yīng)用程序遷移到 PostgreSQL,需要改動的代碼很少甚至不需要改動。
WiltonDB 和 Babelfish 使用 Apache 2.0 或者 PostgreSQL 開源協(xié)議。
安裝 WiltonDB
WiltonDB 支持 Windows 以及 Linux 操作系統(tǒng)。
Windows 平臺安裝 WiltonDB
WiltonDB 提供了 Windows 操作系統(tǒng)安裝包,點(diǎn)擊 GitHub 鏈接下載安裝文件。運(yùn)行安裝文件打開以下安裝界面:
然后按照界面提示,一步步完成安裝。
點(diǎn)擊“Finish”完成安裝,同時(shí)打開配置工具:
通過配置工具可以查看和修改數(shù)據(jù)庫配置。
Linux 平臺安裝 WiltonDB
對于 Linux 操作系統(tǒng),可以通過 RPM 包或者 DEB 包進(jìn)行安裝,也可以使用 Docker 容器運(yùn)行 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 腳本初始化數(shù)據(jù)庫集群。
$ 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 的默認(rèn)密碼是 wilton,建議使用前進(jìn)行修改。
最后啟動 postgresql 服務(wù)。
$ 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 默認(rèn)不支持遠(yuǎn)程連接,這一點(diǎn)和 PostgreSQL 一致。如果想要通過遠(yuǎn)程客戶端進(jìn)行連接,可以使用 WiltonDB 配置工具(/install_dir/bin/wdb_config.exe)進(jìn)行配置。
選擇“Networking Only”配置組,點(diǎn)擊“l(fā)isten_addresses”進(jìn)行修改:
完成配置之后,重啟 WiltonDB 服務(wù)。
使用 SSMS 連接數(shù)據(jù)庫
Microsoft SQL Server Management Studio(SSMS)可以用于連接 WiltonDB,默認(rèn)端口為 1433。
連接數(shù)據(jù)庫時(shí),輸入以下連接信息:
其中,主機(jī)地址和端口之間使用逗號(,)進(jìn)行分隔。
連接成功后可以執(zhí)行 SQL 語句:
使用 pgAdmin 連接數(shù)據(jù)庫
pgAdmin 可以通過 PostgreSQL 協(xié)議連接 WiltonDB,默認(rèn)端口為 5432。
連接成功之后,pgAdmin 可以查看和操作 SSMS 創(chuàng)建的對象。
使用命令行連接數(shù)據(jù)庫
連接 Microsoft SQL Server 或者 PostgreSQL 的命令行客戶端,例如 sqlcmd 以及 psql,都可以用于連接 WiltonDB。
sqlcmd 連接數(shù)據(jù)庫的示例如下:
$ ./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)
該文章在 2023/11/28 11:52:11 編輯過