首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Postgres 源码学习 2—Postgres 的 VFD 机制

    操作系统中的文件 数据库的本质其实就是用来存储数据的,所以免不了和文件系统、存储进行交互,万丈高楼平地起,存储一般是一个数据库的最底层,Postgres 在存储的文件管理方面也有很多的设计与抽象。...在操作系统层面,提供了一些文件操作相关的系统调用(fopen、fclose、fsync 等),我们作为上层使用者,可以直接通过 C 语言库进行调用即可(Postgres 使用 C 语言编写)。...Postgres 的 VFD 作用 Postgres 数据库在运行的过程当中,可能会打开非常多的文件,比如数据表对应的文件,元数据表文件,以及一些在 SQL 运行时打开的临时文件,例如排序、哈希表所需的文件...VFD 的基本工作方式 Postgres 主要通过一个进程私有的数组来维护 VFD,名为 VfdCache。...通过这种方式,Postgres 可以打开远超过系统和进程限制的文件数量,是一个非常精妙的设计。

    61110

    Postgres 源码学习 3—Postgres 存储管理器

    前面一节说到,在 Postgres 的 VFD 机制之上,我们可以避开打开文件数量的系统限制,通过 VFD 可以进行打开、读写、关闭、删除文件等操作,简单来说就是 VFD 为我们提供了一个抽象,屏蔽了操作系统文件描述符的接口...文件类型和文件块 要了解 Postgres 的存储管理,需要先对 Postgres 的表文件的组织方式、类型有一个简单的了解。...Postgres 中的表文件可能会非常大,在物理存储上会将表文件拆分为多个,每一个表文件通过 segno 来区分。...在 Postgres 的数据目录中,表文件的存储格式为 base//。...但是目前在操作系统层面,已经提供了文件系统的抽象,所以存储管理器其实已经没有存在的必要了,但是 Postgres 依然选择将其保留,主要是认为这层抽象并没有什么其他的影响。

    55910

    type 别名

    在 TypeScript 中,type 关键字用于创建类型别名(Type Aliases)。类型别名允许你为一个具体的类型或类型组合定义一个名称,以便在代码中重复使用。...类型推导(Type Inference): 当你使用类型别名初始化变量时,TypeScript 可以推导变量的类型,并将其视为该类型别名所代表的类型。...类型别名的使用使得 TypeScript 中的类型定义更加灵活和可维护。通过使用类型别名,你可以更好地组织和管理代码中的复杂类型,提高代码的可读性和可维护性。...此外,类型别名还可以与其他 TypeScript 的高级类型特性(如泛型、条件类型等)结合使用,进一步增强类型系统的能力。...# type vs interface # 表示类型 类型别名(type)是一个定义别名的工具,可以将多个类型组合起来形成一个新类型。

    1.1K20

    MySQL 别名

    可以给字段 表达式 函数 以及表 取别名 语法: select 字段名 函数别名 from 表名; 例如 : select bookname name from book; ##这里是将name设置为bookname...的别名; 为多个字段起别名: select 函数1 函数1别名,函数2 函数2别名 from b表名; 例如: select number num,price money from book; ##这里将...num设置为number的别名,将money设置为price的别名; 表达式别名: 语法: select 表达式 别名 from 表名; 例如: select name,price*12 totalprice...from book; ##返回结果 将price*12的别名设置为 totalprice 函数别名: 语法: select 函数名 别名(英文名可以直接写) from 表名; 语法二(取别名关键字...as): select 函数名 as 别名 from 表名; ##中文别名需要用引号 引起来 ##中间有空格的别名 例如 avg m 需要加引号 ‘avg m’ 例: select avg(price

    2.4K20

    Laravel Bash 别名

    Bash 别名是让你用更难忘的单词、缩写或者字符引用来另一个命令的方式。...这些年我看到很多与众不同的的别名,每个人都是独一无二的。 也许你会对我用的快捷键感到迷惑,甚至会觉得不可思议的。「咦?有这种命令么?」 诸如此类的事情,而这可能正是别名好玩的地方。...然而每个人都还是有一个不同的快捷方式,例如 php artisan 命令的别名会有「a」、「pa」或「art」。...如何创建自己的别名 对于那些也想尝试创建 bash 别名的人来说,这个过程很简单。 首先,你要在文本编辑器中打开 〜/.bashrc 文件。...来自 Laravel 社区的 Laravel Bash 别名 以下列出了所有国外 Laravel 社区的贡献者以及他们正在使用的内容。

    2.6K20
    领券