
Perl 是 1987 年由拉里·沃尔(Larry Wall)设计、发表的,一种功能强大、功能丰富的编程语言。经过了 36 年的开发,Perl 可在从便携式计算机到大型机的 100 多个平台上运行,适用于快速原型设计和大规模开发项目。
关于 Perl 的拼写:
“Perl” 是该语言的名称。只有“P”大写。传统上,运行 Perl 脚本的程序名称是“perl”,“p”小写。大多数对该语言的引用应使用“Perl”。
Perl 借取了C、sed、awk、shell 脚本语言以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。
虽然 Perl 还在更新,1993年发布 Perl 5.0,2024年发布 Perl 5.40,
但,时过境迁,Perl 语言因语法复杂,性能一般,代码维护困难等原因,已逐渐被 Python 语言取代。

本文将介绍一款极品云原生数据库 PolarDB ,以及如何使用上古编程语言 Perl 连接 PolarDB。
PolarDB
云原生数据库 PolarDB 是阿里云自研产品,在存储计算分离架构下,利用了软硬件结合的优势,为用户提供秒级弹性、高性能、海量存储、安全可靠的数据库服务。100%兼容MySQL和PostgreSQL生态,支持分布式扩展,高度兼容Oracle语法。PolarDB 坚定遵循自主可控、开放生态的发展思路,于2021年正式开源。

在7月发布的中国数据库流行度排行榜中,PolarDB再次刷新了800分的记录,以812.78的高分居于榜首,其在专利、案例以及论文方面的数据均高于其他厂商。在智利举行的数据库国际学术顶会 SIGMOD 2024 上,阿里云共有14篇论文被收录,成为入选论文数量最多的中国科技企业。更值得一提的是,阿里云凭借自研PolarDB新架构斩获工业赛道“最佳论文奖”,成为首个获得该殊荣的中国企业。PolarDB创新设计了“分布式共享内存和存储”多主数据库架构,其性能达到了业界同类数据库的3倍,并且已实现大规模商用,充分验证了其在实际业务场景中的卓越表现。[1]

PolarDB-PG
PolarDB for PostgreSQL,简称“PolarDB-PG”,是阿里云自主研发的云原生关系型数据库产品,100% 兼容 PostgreSQL;采用基于 Shared-Storage 的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP 的能力和高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB 具有大规模并行计算能力,可以应对OLTP与OLAP混合负载。
2021年,阿里云将PolarDB开源,使得开发者和客户能够快速使用并参与到技术产品的迭代过程中。
PolarDB-PG 的重要特性
- 存储计算分离:PolarDB-PG将存储和计算层分离,使得资源可以独立扩展,提高了系统的灵活性和扩展性。
- 软硬一体化设计:通过硬件和软件的深度整合,PolarDB-PG能够提供更优的性能和稳定性。
- 高可用性:PolarDB-PG具备自动故障转移和数据复制功能,确保业务的连续性和数据的安全性。
- 开源:PolarDB-PG的开源策略促进了社区的参与和技术创新,加速了产品的发展。
PolarDB-PG 本地启动
PolarDB-PG 支持多种部署形态:单机本地部署、存储计算分离部署、X-Paxos三节点部署。
本地环境可以使用 Docker 快速启动 PolarDB-PG 容器。
- 拉取 PolarDB-PG 镜像
docker pull polardb/polardb_pg_local_instance
- 创建并运行容器
[root@shawnyan ~]# docker run -d -it --privileged=true --name polardb-pg -p 54320-54322:5432-5434 polardb/polardb_pg_local_instance bash
961ae2d9f491ff2362ff15e8ba7b7cc2cad89c78024b253b96fac97696ededb9
[root@shawnyan ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
961ae2d9f491 polardb/polardb_pg_local_instance "./docker-entrypoint…" 17 seconds ago Up 16 seconds 0.0.0.0:54320->5432/tcp, :::54320->5432/tcp, 0.0.0.0:54321->5433/tcp, :::54321->5433/tcp, 0.0.0.0:54322->5434/tcp, :::54322->5434/tcp polardb-pg
[root@shawnyan ~]#
- 测试可用性
docker exec -it polardb-pg psql -c 'select version();'
version
--------------------------------
PostgreSQL 11.9 (POLARDB 11.9)
perl-DBD-Pg
DBD::Pg 是一个 Perl 模块,它与 DBI 模块一起工作,为 Perl 程序提供了访问 PostgreSQL 数据库的能力。
在 Linux 系统上,可以使用包管理器安装 DBD::Pg。例如,在 CentOS 7,可以使用以下命令:
yum install perl-DBD-Pg
编写 Perl 脚本连接 PolarDB-PG
以下是一个简单的 Perl 脚本示例,展示了如何使用 DBD::Pg 连接到 PolarDB-PG 数据库,并执行查询:
use DBD::Pg;
use DBI;
...
my $dbh = DBI->connect($dsn, $user, $password, {
...
my $query = "SELECT version()";
my $sth = $dbh->prepare($query);
$sth->execute()
运行脚本,得到查询结果。
[root@shawnyan ~]# ./conn-polar.pl
PostgreSQL 11.9 (POLARDB 11.9)
2024云栖大会,9月19日见
2024杭州·云栖大会,来了!
9月19日至21日,杭州·云栖小镇
三场重磅主论坛
400场论坛与并行话题
40000平米智能科技大展
即日起,注册免费领取云栖大会门票!

🌻 往期精彩 ▼
- [Oracle]
- [MySQL]
- [TiDB]
- [PG]
– / END / –
👉 这里可以找到我
如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!ღ( ´・ᴗ・` )~
https://www.modb.pro/db/1810969019491565568 ↩︎




