postgresql离线部署及fdw环境编译要点

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: 本教程介绍在龙蜥系统上安装 PostgreSQL 的过程,包含以下步骤:1) 使用 yum 安装 PostgreSQL 及其相关组件(需挂载完整 ISO 镜像);2) 编译 FreeTDS 插件以支持 SQL Server 访问;3) 编译 tds_fdw 实现数据联邦功能;4) 编译 oracle_fdw 支持 Oracle 数据库访问;5) 配置系统动态链接库环境并更新 ldconfig。通过这些步骤,可实现 PostgreSQL 对多种数据库的互联互通。

龙蜥安装postgresql过程
1、yum直接安装(前提挂载完整的iso镜像):
postgresql14-devel-14.4-1PGDG.rhel8.x86_64.rpm
postgresql14-libs-14.4-1PGDG.rhel8.x86_64.rpm
postgresql14-server-14.4-1PGDG.rhel8.x86_64.rpm
postgresql14-14.4-1PGDG.rhel8.x86_64.rpm
postgresql14-contrib-14.4-1PGDG.rhel8.x86_64.rpm

2、编译freetds--sqlserver访问插件
./configure --prefix=/usr/local/freetds --enable-msdblib
make
make install

3、编译tds_fdw
LIBRARY_PATH=/usr/local/lib:/usr/local/freetds/include:/usr/local/freetds/lib make USE_PGXS=1 TDS_INCLUDE=-I/usr/local/freetds/include
make install

4、编译oracle_fdw
make
make install

5、在/etc/ld.so.conf添加环境并ldconfig
/usr/lib/oracle/12.1/client64/lib
/usr/local/freetds/lib

6、数据库相关设定
--创建外部fdw服务(oracle)
CREATE SERVER xxx
FOREIGN DATA WRAPPER oracle_fdw
OPTIONS (dbserver '//xx.xx.xx.xx:1521/orcl');

--创建外部fdw服务(sqlserver)
CREATE SERVER xxx
FOREIGN DATA WRAPPER tds_fdw
OPTIONS (
servername 'xx.xx.xx.xx',
port '1433',
database 'xx',
tds_version '7.1' -- TDS 协议版本
);

--授权服务给指定账户
GRANT USAGE ON FOREIGN SERVER hkhisdbtest TO hkeods;

--绑定指定账户与外部服务的账户
create USER MAPPING FOR hkeods
SERVER hkhisdbtest
OPTIONS (username 'sa', password 'Hkwj_123');

--导入外部服务下所有表
IMPORT FOREIGN SCHEMA xx
FROM SERVER xxx INTO xxx;

--其他适应性设定:
--sql不区分大小写(改postgresql.conf)
SQL_IDENTIFIER_CASE=lower
--禁用自动提交机制适应oracle习惯(改postgresql.conf)
autocommit=off

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
前端开发 Java 关系型数据库
Caché学习笔记(一、cache安装与配置)
Caché学习笔记(一、cache安装与配置)
1449 0
Caché学习笔记(一、cache安装与配置)
|
2月前
|
运维 数据可视化 C++
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
2025年热门Web化容器部署工具对比:Portainer与Websoft9。Portainer以轻量可视化管理见长,适合技术团队运维;Websoft9则提供一站式应用部署与容器管理,内置丰富开源模板,降低中小企业部署门槛。两者各有优势,助力企业提升容器化效率。
208 1
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
|
5月前
|
消息中间件 数据可视化 Kafka
docker arm架构部署kafka要点
本内容介绍了基于 Docker 的容器化解决方案,包含以下部分: 1. **Docker 容器管理**:通过 Portainer 可视化管理工具实现对主节点和代理节点的统一管理。 2. **Kafka 可视化工具**:部署 Kafka-UI 以图形化方式监控和管理 Kafka 集群,支持动态配置功能, 3. **Kafka 安装与配置**:基于 Bitnami Kafka 镜像,提供完整的 Kafka 集群配置示例,涵盖 KRaft 模式、性能调优参数及数据持久化设置,适用于高可用生产环境。 以上方案适合 ARM64 架构,为用户提供了一站式的容器化管理和消息队列解决方案。
385 10
|
6月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
222 10
|
机器学习/深度学习 PyTorch 算法框架/工具
VQ-VAE:矢量量化变分自编码器,离散化特征学习模型
VQ-VAE 是变分自编码器(VAE)的一种改进。这些模型可以用来学习有效的表示。本文将深入研究 VQ-VAE 之前,不过,在这之前我们先讨论一些概率基础和 VAE 架构。
550 10
|
XML SQL JavaScript
在vue页面引入echarts,图表的数据来自数据库 springboot+mybatis+vue+elementui+echarts实现图表的制作
这篇文章介绍了如何在Vue页面中结合SpringBoot、MyBatis、ElementUI和ECharts,实现从数据库获取数据并展示为图表的过程,包括前端和后端的代码实现以及遇到的问题和解决方法。
在vue页面引入echarts,图表的数据来自数据库 springboot+mybatis+vue+elementui+echarts实现图表的制作
|
安全 Shell 数据安全/隐私保护
CI/CD笔记.Gitlab系列:控制台强制修改root用户密码
CI/CD笔记.Gitlab系列:控制台强制修改root用户密码
662 2
|
JavaScript 前端开发 Java
uniapp Android 原生插件开发(Module 扩展为例·2022)(一)
uniapp Android 原生插件开发(Module 扩展为例·2022)
2139 0
uniapp Android 原生插件开发(Module 扩展为例·2022)(一)
|
JSON 数据可视化 定位技术
可视化 | Python绘制高颜值台风地理轨迹图
可视化 | Python绘制高颜值台风地理轨迹图
|
编解码 人工智能 自然语言处理
让大模型理解手机屏幕,苹果多模态Ferret-UI用自然语言操控手机
【5月更文挑战第29天】苹果推出Ferret-UI,一个结合图像识别和自然语言处理的多模态大语言模型,允许用户通过自然语言指令操控手机。该系统能适应不同屏幕布局,识别UI元素并执行相应操作,有望变革手机交互方式,提升无障碍体验,并在测试和开发中发挥作用。但需面对屏幕多样性及准确性挑战。[论文链接](https://arxiv.org/pdf/2404.05719.pdf)
440 3