PostgreSQL体系基本概念

理解 PostgreSQL 的组件之间的相互关系将会使本节显得更清晰一些。

按照数据库术语来说,PostgreSQL 使用一种客户端/服务器的模式。一次 PostgreSQL 会话由下列相关的进程(程序)组成:

  • 一个服务器进程,它管理数据库文件,接受来自客户端应用与数据库的连接,并且代表客户端在数据库上执行操作。数据库服务器程序叫 postgres
  • 那些需要执行数据库操作的用户的客户端(前端)应用。客户端应用可能本身就是多种多样的:它们可以是一个字符界面的工具,也可以是一个图形界面的应用,或者是一个通过访问数据库来显示网页的 web 服务器,或者是一个特殊的数据库管理工具。一些客户端应用是和 PostgreSQL 发布一起提供的,但绝大部分是用户开发的。

和典型的客户端/服务器应用(C/S应用)一样,这些客户端和服务器可以在不同的主机上。这时它们通过 TCP/IP 网络连接通讯。你应该记住的是,在客户机上可以访问的文件未必能够在数据库服务器机器上访问(或者只能用不同的文件名进行访问)。

PostgreSQL 服务器可以处理来自客户端的多个并发请求。因此,它为每个请求启动("fork")一个新的进程。从这个时候开始,客户端和新服务器进程就不再经过最初的 postgres 进程进行通讯。因此,主服务器总是在运行,等待连接,而客户端及其相关联的服务器进程则是起起停停。当然,用户是肯定看不到这些事情的。我们在这儿谈这些主要是为了完整。

时间: 2024-08-07 08:36:31

PostgreSQL体系基本概念的相关文章

Java 技术体系基础概念

Java 技术体系基础概念 =============================================================================== 概述: =============================================================================== 编程语言: [百度百科解释] 编程语言俗称"计算机语言",种类非常的多,总的来说可以分成机器语言.汇编语言.高级语言三大类.电脑每做的

postgreSQL使用

1.1. 安装     自然,在你想开始使用 PostgreSQL 之前, 你必须安装它.PostgreSQL 很有可能 已经安装到你的节点上了,因为它包含在你的操作系统的发布里, 或者是系统管理员已经安装了它.如果是这样的话,那么你应该从 操作系统的文档或者你的系统管理员那里获取如何访问 PostgreSQL 的信息. 如果你不清楚 PostgreSQL 是否已经安装, 或者不知道你能否用它(已经安装的)做自己的实验,那么你就可以自己安装. 这么做并不难,并且是一次很好的练习. Postgre

PostgreSQL 系统的基本体系结构

PostgreSQL 使用客户机/服务器(C/S)的模式提供服务,一个PostgreSQL会话由下列相关的进程(程序)组成: (1)一个服务器端进程.该进程管理数据库文件,接受客户端与数据库的连接,且代表客户端对数据库进行操作.该进程的程序名叫做 postgres. (2)前端应用,即需要进行数据库操作的客户端应用.客户端应用可能本身就是多种多样的:它们可以是一个字符界  面的工具, 也可以是一个图形界面的应用,或者是一个通过访问数据库来显示网页的 web 服务器,或者是一个特殊的数据库管理工具

布尔数学体系

逻辑是探索.阐述和确立有效推理原则的学科,最早由古希腊学者亚里士多德创建的.用数学的方法研究关于推理.证明等问题的学科就叫做数理逻辑.也叫做符号逻辑. 产生 编辑 利用计算的方法来代替人们思维中的逻辑推理过程,这种想法早在十七世纪就有人提出过.莱布尼茨就曾经设想过能不能创造一种“通用的科学语言”,可以把推理过程象数学一样利用公式来进行计算,从而得出正确的结论.由于当时的社会条件,他的想法并没有实现.但是它的思想却是现代数理逻辑部分内容的萌芽,从这个意义上讲,莱布尼茨的思想可以说是数理逻辑的先驱.

PostgreSQL 安装 & 用户配置

一.为什么选择 PostgreSQL 自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选. MySQL被oracle收购,innodb随之被oracle控制. 二.安装 1.MacOS 最方便的方法是安装 PostgreSQL.app. 2.Linux (CentOS 7) (1)安装 https://tecadmin.net/install-postgresql-server-centos/ (2)启动 systemctl start postgresql

pg权限系统

本文旨在帮助用户理解PostgreSQL的逻辑结构和权限体系,帮助用户快速的理解和管理数据库的权限. 逻辑结构 最上层是实例,实例中允许创建多个数据库,每个数据库中可以创建多个schema,每个schema下面可以创建多个对象. 对象包括表.物化视图.操作符.索引.视图.序列.函数.… 等等. 在数据库中所有的权限都和角色(用户)挂钩,public是一个特殊角色,代表所有人. 超级用户是有允许任意操作对象的,普通用户只能操作自己创建的对象. 另外有一些对象是有赋予给public角色默认权限的,所

如何估算测试工作量

(一)常规的估算测试工作量的方法 作为一个管理者,你是否被询问到某个项目要花多少时间,多少人力测试:或是作为一个普通的测试员,你是否被询问到要花多少时间来完成某个任务或是一次回归测试?我想大多数在软件行业的人或多或少都会碰到这样的关于工作量估计的询问.那么你是怎么回答的呢?你对你自己的回答有信心吗?你是否最终发现实际上花去的时间和原本估计的时间大相径庭呢? 不同的人会使用许多不同的方法来估算及安排他们的测试工作量.不同的组织根据项目的类型,项目的内在风险,涉及的技术等而使用不同的方法.但是大多数

微信支付与支付宝钱包的竞争分析

NO1: 十九世纪七十年代起,“物竞天择,适者生存,优胜劣汰”已逐渐成为现代生物学的口号.而今,不知不觉中,它似乎也成了当代社会学的口号.罗素说:“竞争一直是,甚至从人类起源起就是对大部分激烈活动的剌激物.”所谓“长江后浪推前浪”,在人类资讯的迅速积累之下,如果不能追上时代,自然就要被淘汰了.竞争,已经成了当代社会政治经济发展的重要基础与必然趋势. 从远古时期的以物换物,到后来货币的出现,直到宋朝时第一张纸币“交子”问世,随着经济的不断发展,货币的形式也在不断地变化着. 2003年10月18日,

探索性思维——How to Solve It

我觉得这篇文章和什么都能扯上点关系,比如编程. 很多人已经讨论过数学与编程的关系了,这里不想过多探讨,只是简单提一下:有些人把数学贬低地一文不值,认为做一般的应用软件用不到数学:而有些人则把数学拔高到一个很高的位置,认为一些比较上层的领域像机器学习,包括其父.子类人工智能和深度学习都需要用到些相对晦涩的数学知识.我的看法是:尽自己的能力学习更多的数学知识总是没有坏处的.当然,辨证的来看,过度学习偏废了机器本身也就不说什么了(仁者仁智者智吧,王垠也写过一篇文章,我想附在这里:数学与编程,希望勿喷,