1.14. 例子程序example 1-1. libpq 例子程序 1[myphp]/** testlibpq.c** test the c version of libpq, thepostgresqlfrontend* library.* 测试 postgresql 前端库 libpq 的 c 版本*/#include #include voidexit_nicely(pgconn *conn){pqfinish(conn);exit(1);}main(){char *pghost,*pgport,*pgoptions,*pgtty;char *dbname;int nfields;int i,j;/* file *debug; */pgconn *conn;pgresult *res;/** begin, by setting the parameters for a backend...
chapter 4. 用户认证table of contents4.1. pg_hba.conf 文件4.2. 认证方法4.2.1. 信任认证4.2.2. 口令认证4.2.3. kerberos 认证4.2.4. 基于 ident 的认证4.2.5. pam 认证4.3. 认证问题当一个客户端应用与数据库服务器进行联接时,它声明 它将以哪个 postgresql 用户的名称进行联接, 就象我们登录一台 unix 计算机 一样.在 sql 环境里,活跃的数据库用户名决定数据库对象的各种访问 权限--参阅chapter 6获取更多信息.因此, 实际上我们要限制的是用户可以联接的数据库.认证 是数据库服务器建立客户端应用的标识, 然后通过一些手段判断是否允许此客户端应用(或者运行这个客户端应用的 用户)与它所要求的用户名进行联接的过程.postgresql 提供多种不同的客户端认证方式.认证某个...
table of contents11.1. 一般性描述11.1.1. 从 wal 中获取的直接好处11.1.2. 更多好处11.2. 实现11.3. wal 配置作者: vadim mikheev 和 oliver elphick 11.1. 一般性描述预写式日志 (wal) 是一种实现事务日志的标准方法.有关它的详细描述可以在 大多数(如果不是全部的话)有关事务处理的书中找到. 简而言之,wal 的中心思想是对数据文件 的修改(它们是表和索引的载体)必须是只能发生在这些修改已经 记录了日志之后 -- 也就是说,在日志记录冲刷到永久存储器之后. 如果我们遵循这个过程,那么我们就不需要在每次事务提交的时候 都把数据页冲刷到磁盘,因为我们知道在出现崩溃的情况下, 我们可以用日志来恢复数据库:任何尚未附加到数据页的记录 都将先从日志记录中重做(这叫向前滚动恢复,也叫做 redo) 然后那些未提...
table b-1 列出了所由在 sql 标准和 postgresql 7.3 里是关键字的记号. 你可以在 section 1.1.1 里找到 相关的背景信息.sql 里有保留字(保留)和 非保留字之分.根据标准, 保留字是那些真正的关键字;我们决不能用它们做标识符. 非保留字只是在特定的环境里有特殊的含义,而在其它环境里是 可以用做标识符的.大多数非保留字实际上都是 sql 声明的 内建表和函数的名字.而非保留字的概念实质上只是用来表示 在某些场合里,在一个字上附加了一些预先定义的含义.在 postgresql 里,分析器的工作 有些复杂.因为存在好几种不同范畴的记号,从那些永远不可能 用做标识符的到那些和普通标识符比较起来在分析器里完全没有 任何特殊状态的.(后者通常都是 sql 声明的函数.)即使 保留关键字在 postgresql 里都没有完全保留,而是可以用做字段标签(比如, ...
chapter 1. 安装指导table of contents1.1. 简版1.2. 要求1.3. 获取源码1.4. 如果你是在升级1.5. 安装过程1.6. 安装后设置1.6.1. 共享库1.6.2. 环境变量1.7. 支持的平台这里 chapter 的信息描述从源代码发布安装 postgresql。1.1. 简版./configuregmakesugmake installadduser postgresmkdir /usr/local/pgsql/datachown postgres /usr/local/pgsql/datasu - postgres/usr/local/pgsql/bin/initdb -d /usr/local/pgsql/data/usr/local/pgsql/bin/postmaster -d /usr/local/pgsql/data >logf...
8.7. 部分索引部分索引(partial index) 是建立在一个表的子集上的索引;该子集是由一个条件表达式定义的 (叫做部分索引的谓词). 该索引只包含表中那些满足这个谓词的行.部分索引的主要动机是为了避免对普通数值建立索引? 因为如果一个在一个普通数值(那种只占表中所有行几个百分点的数值) 上的查询不会使用索引, 那么就没有在索引中保存这些(普通)行的必要. 这样就可以减小索引的尺寸,这样就可以提高那些真正使用索引的查询的速度. 同时它也能提高许多表更新操作的速度,因为不是所有情况都需要更新索引. example 8-1 显示了一个潜在的这方面应用的例子.example 8-1. 设置一个部分索引以排除普通数值假设你在一个数据库中存储 web 服务器的访问日志. 大多数访问是从你的组织内部的 ip 范围发起的,但也有一小部分 来自其它地方(比如那些通过拨号进行联接的雇员). 如果...
chapter 2. 大对象table of contents2.1. 介绍2.2. 实现特点2.3. 接口2.3.1. 创建大对象2.3.2. 输入大对象2.3.3. 输出大对象2.3.4. 打开一个现有的大对象2.3.5. 向大对象中写数据2.3.6. 从大对象中读取数据2.3.7. 对大对象中数据的查找2.3.8. 关闭一个大对象描述符2.3.9. 删除一个大对象2.4. 内建的已注册函数2.5. 通过libpq 访问大对象2.1. 介绍在 postgresql 7.1 以前的版本里, 记录存储在数据页面里并且单个记录里的数据大小不能超过数据页面的大小. 因为数据页面大小是8192 字节(缺省,可以增加到 32768), 所以可存储数据值的上限是相当底的. 为了存储更大的原子数值, postgresql 提供了大对象接口. 这个接口给用户提供对定义为大对象的用户数据的面向文件的接口....
chapter 3. 服务器运行时环境table of contents3.1. postgresql 用户帐户3.2. 创建数据库集群3.3. 启动数据库服务器3.3.1. 服务器启动失败3.3.2. 客户端联接问题3.4. 运行时配置3.4.1. pg_settings3.4.2. 规划器和优化器调节3.4.3. 日志和调试3.4.4. 一般操作3.4.5. wal3.4.6. 短选项3.5. 管理内核资源3.5.1. 共享内存和信号灯3.5.2. 资源限制3.6. 关闭服务器3.7. 用 ssl 进行安全的 tcp/ip 联接3.8. 用ssh进行安全 tcp/ip 联接本章讨论如何设置和运行数据库服务器以及如何与操作系统交互.3.1. postgresql 用户帐户和大量其它与外界相联的服务器守护进程一样,我们也建议 用一个独立的用户帐户运行postgresql.这个用户帐户应该拥...
在2001年六月,我将我的站点的后端数据库从mysql改为postgresql。这仅仅花了我一天的时间。从那时起,postgres一直工作得很正常,这证明我作出了正确的选择。在这篇文章的上半部分,我们讲解了如何将数据从mysql转换到postgres。我们还说明了我改用postgres的理由。而在下半部分,我们将指导你完成另一半的转换工作并讲解如果将已编制好的用于mysql的php代码改用于postgres。准备在你做这项工作之前,你需要一些准备工作。你的编程技巧和网站的复杂性将对程序的转换影响很大。为了防止在工作中发生错误,在你的web服务器上为你的站点作一份备份肯定是必要的。我当时的解决方法是设置了一个指定的子域来测试我正在修改的代码。因为站点会根据一个配置文件中的一些基本配置自动处理 url,所以这件工作很简单。你也许不能这样做,但是不管怎样,你都需要一个另外的空间来放置你正在改动的...
一、前言 前一段时间,我曾经翻译过一篇将你的网站从mysql改为postgresql,其实当初我更感兴趣的是一个应用程序的后台数据库从mysql 转为postgresql的具体操作,并没有关心mysql和postgresql的优劣,没想到反应出乎意料的大,因此我也就觉得有写这篇文章的必要了。 在这篇文章中,我们选用mysql 4.0.2-alpha与postgresql 7.2进行比较,因为mysql 4.0.2-alpha开始支持事务的概念,因此这样的比较对于mysql应该较为有利。 我们这样的比较不想仅仅成为一份性能测试报告,因为至少从我个人来看,对于一个数据库,稳定性和速度并不能代表一切。对于一个成熟的数据库,稳定性肯定会日益提供。而随着硬件性能的飞速提高,速度也不再是什么太大的问题。二、两者的共同优势 这两个产品都属于开放源码的一员,性能和功能都在高速地提高和增强。mysql ab...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器