PostgreSQL + SQL Server = WiltonDB

news/2024/11/15 2:17:15/

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

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

在这里插入图片描述

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

安装 WiltonDB

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

Windows 平台安装 WiltonDB

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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 serverLoaded: 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)进行配置。

在这里插入图片描述

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

在这里插入图片描述

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

使用 SSMS 连接数据库

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

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

在这里插入图片描述

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

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

在这里插入图片描述

使用 pgAdmin 连接数据库

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

在这里插入图片描述

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

在这里插入图片描述

使用命令行连接数据库

连接 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)

http://www.ppmy.cn/news/1245119.html

相关文章

springboot+vue项目如何集成onlyoffice开源文档组件

一、onlyoffice是什么 ONLYOFFICE 是一个开源的办公套件,适合多人在线协作。由总部位于总部在拉脱维亚的 IT 公司Acensio System SIA 开发。它提供在线协作文档编辑器(包括文档、电子表格、演示文稿和表单),适用于 Windows、Linu…

使用conan包 - 安装依赖项

使用conan包 - 安装依赖项 主目录 conan Using packages1 Requires2 Optional user/channel3 Overriding requirements4 Generators5 Options 本文是基于对conan官方文档Installing dependencies的翻译而来, 更详细的信息可以去查阅conan官方文档。 This section s…

使用DeepBlueCLI对Windows日志进行取证(小记)

什么是Windows日志取证 Windows日志取证是指通过分析和收集Windows操作系统生成的日志信息,以获取关于系统活动、用户行为、安全事件等方面的数据 工具使用 工具介绍 DeepBlueCLI 是一个用于检测 Windows 系统中的安全事件和威胁的 PowerShell 脚本工具 工具下…

线性分类器---损失函数与优化算法

如何衡量分类器对当前样本的效果好坏? 需要损失函数 什么是损失函数? 损失函数搭建了模型性能与模型参数之间的桥梁,指导 模型参数优化。  损失函数是一个函数,用于度量给定分类器的预测值与真实值 的不一致程度,…

MyBatis--返回值的含义

原文网址:MyBatis--返回值的含义_IT利刃出鞘的博客-CSDN博客 简介 本文介绍对MyBatis返回值的含义。 概述 在使用Mybatis时,java程序会调用到xml里边的语句,java会获得其返回值,其值如下 xml语句 返回值 SELECT 非null&…

Introducing the Arm architecture

快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】:【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 — 适合小白入门【目录】ARMv8/ARMv9架构高级进阶-[目录]👈👈👈 — 高级进阶、小白勿买【加群】ARM/TEE…

cjson库打包数据实现方法

使用 cJson 库,在C语言环境下,打包一个cJson字符串: int CreateArryJsonString(void) {cJSON *cJsonArr cJSON_CreateArray();cJSON *sJsonObj1 cJSON_CreateObject();cJSON_AddStringToObject(sJsonObj1, "test1", "test1…

串口通信 HAL库+cubeMX

一.通信的基本概念 1.串行通信和并行通信 2.全双工、半双工和单工 3.针对串行通信的同步通信和异步通信 4.通信速率 二.UART配置 UART常用HAL库函数 //UART_HandleTypeDef *huart是句柄typedef struct {//初始化看前面两个就可以了USART_TypeDef *Instance; /* UART 寄存器…