《PostgreSQL服务器编程》一一第2章 服务器程序设计环境

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介:

第2章 服务器程序设计环境

在此之前,你可能已经了解过使用PostgreSQL的基本概念,但是现在我们将要回答这样一个问题:为什么人们选择PostgreSQL作为他们的开发平台?我非常愿意相信对于每个人来说,选择开发平台都是一个简单的决定,但是实际上并非如此。
作为初学者,我们应该摆脱这样一种乐观的想法,那就是任何人都是出于技术原因,来选择某一种数据库平台。当然,我们都希望自己是客观的,我们是依据数据库平台在技术方面的绝对优势,对数据库平台做出我们最佳的选择。这种绝对优势会表明数据库平台的哪些特性是可以被利用的,并且和我们的应用程序是相关联的。然后,我们通过综合考量,确定一个最有利的平台。而对于我们所选择的平台其本身的不足之处,我们会通过权衡技术优势,建立应对措施和方案。事实上,我们在一开始往往并不会真正了解所有应用程序的要求,直到开发周期过半之后才会知晓。下面是造成这种情况的原因:
我们不知道应用程序将如何随着时间的推移而产生变化。许多创业型公司会跟随市场需求改变他们最初的想法,因为市场会告诉他们如何做出改变。
我们不知道应用程序到底会拥有多少用户,直到我们看到一些注册量,并且可以开始测量用户曲线。
我们不知道某个特定功能会有多么重要,直到我们得到用户反馈。事实是,我们真的不知道该应用程序的大部分长期用户需求,直到我们编写了第2版甚至第3版。
也就是说,除非你是个幸运儿,拥有一个能够编写出alpha版本的研发部门,并进行试推广,然后基于alpha版本的经验教训,编写下一个版本。可即使是这样,一旦应用程序被部署,你也不会知道真正的使用模式将会是什么样的。
在PostgreSQL社区里,我们通常会看到一些在提问的新用户,会发现他们其实并不是找人帮忙做解答,其实他们自己早已经有了答案。在大多数情况下,他们是在对现有的行动计划寻求技术支撑。对他们而言,决策时间点早已经过去了。本章中,我将阐述的不是一个TPC基准测试,也不是关于PostgreSQL函数与存储过程的相对优点。坦率地说,在人们做出选择并试图证明自己的选择之前,没有人会真正关心这些事情。
本章包含了指导部分。对于这些指导内容,早在1998年当我选择PostgreSQL时,我就希望有人已经为我写好。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
15天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
|
2月前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
105 1
|
2月前
|
SQL 机器学习/深度学习 分布式计算
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
81 1
|
19天前
|
机器学习/深度学习 JavaScript Cloud Native
Node.js作为一种快速、可扩展的服务器端运行时环境
Node.js作为一种快速、可扩展的服务器端运行时环境
31 8
|
4月前
|
传感器 网络协议 物联网
手把手教你在 Windows 环境中搭建 MQTT 服务器
手把手教你在 Windows 环境中搭建 MQTT 服务器
338 0
|
27天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
34 4
|
2月前
|
安全 Linux 数据安全/隐私保护
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第17天】在RHEL环境下部署Subversion服务器包括安装Subversion、创建和配置版本库、启动服务器、客户端连接以及备份与恢复等步骤。通过这些步骤,可确保服务器的安全性和稳定性,满足版本控制需求。
|
2月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
60 2
|
2月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
446 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
2月前
|
应用服务中间件 PHP Apache
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
下一篇
DataWorks