跳转到内容


PostgreSQL最常见问题-用户客户端问题


  • 您无法回复此主题
No replies to this topic

#1 稻草人

    职业选手

  • 注册用户
  • 点子点子点子
  • 526 帖子数:

发表于 2007/02/25 00:04:36

2.1)我们可以用什么语言和 PostgreSQL 打交道?[/b]



PostgreSQL(缺省情况)只安装有C和内嵌式C的接口,其他的接口都是独立的项目,能够分别下载,这些接口项目独立的好处 是他们可以有各自的发布计划和各自独立的开发组。 一些编程语言如PHP都有访问 PostgreSQL 的接口,Perl,TCL,Python以及很多其他语言的接口在 http://gborg.postgresql.org 上的Drivers/Interfaces小节可找到, 并且通过Internet很容易搜索到。

2.2)有什么工具可以把 PostgreSQL 用于 Web 页面?[/b]

一个介绍以数据库为后台的挺不错的站点是:http://www.webreview.com

对于 Web 集成,PHP 是一个极好的接口。它在:http://www.php.net/

对于复杂的任务,很多人采用 Perl 接口和 CGI.pm 或 mod_perl 。

2.3)PostgreSQL 拥有图形用户界面吗?[/b]

是的,在 http://techdocs.post...guides/GUITools有一个详细的列表。


系统管理问题[/b]

3.1)我怎样能把 PostgreSQL 装在 /usr/local/pgsql 以外的地方?[/b]

在运行 configure 时加上 --prefix 选项。

3.2)我如何控制来自其他主机的连接?[/b]

缺省时,PostgreSQL 只允许通过 unix 域套接字或TCP/IP方式且来自本机的连接。 你只有在修改了配置文件postgresql.conf中的listen_addresses,且也在配置文件pg_hba.conf中打开了 主机为基础( host-based )的身份认证,并重新启动PostgreSQL,否则其他机器是不能与你的PostgreSQL服务器连接的。

3.3)我怎样调整数据库引擎以获得更好的性能?[/b]

有三个主要方面可以提升PostgreSQL的潜能。

查询方式的变化 这主要涉及修改查询方式以获取更好的性能: 创建索引,包括表达式和部分索引; 使用COPY语句代替多个Insert语句; 将多个SQL语句组成一个事务以减少提交事务的开销; 从一个索引中提取多条记录时使用CLUSTER; 从一个查询结果中取出部分记录时使用LIMIT; 使用预编译式查询(Prepared Query); 使用ANALYZE以保持精确的优化统计; 定期使用 VACUUM 或 pg_autovacuum 进行大量数据更改时先删除索引(然后重建索引) 服务器的配置 配置文件postgres.conf中的很多设置都会影响性能,所有参数的列表可见: Administration Guide/Server Run-time Environment/Run-time Configuration, 有关参数的解释可见: http://www.varlena.com/varlena/GeneralBits/Tid......ted_conf_e.htmlhttp://www.varlena.c...dbits/perf.html硬件的选择 计算机硬件对性能的影响可浏览 http://candle.pha.pa.us/main/writings/pgsql/hw......ance/index.htmlhttp://www.powerpost...l.com/PerfList/3.4)PostgreSQL 里可以获得什么样的调试特性?[/b]

PostgreSQL 有很多类似 log_* 的服务器配置变量可用于查询的打印和进程统计,而这些工作对调试和性能测试很有帮助。

[size=14][size=10]3.5)为什么在试图连接时收到“Sorry, too many clients”消息?
[/b]

[size=10]这表示你已达到缺省100个并发后台进程数的限制,你需要通过修改postgresql.conf文件中的max_connections值来 增加postmaster的后台并发处理数,修改后需重新启动postmaster


[size=14][size=10]3.6)为什么要在升级 PostgreSQL 主要发布版本时做 dump 和 restore ?
[/b]

[size=10]PostgreSQL 开发组对每次小的升级仅做了较少的修改,因此从 7.4.0 升级到 7.4.1 不需要 dump 和 restore。 但是主要的升级(例如从 7.3 到 7.4)通常会修改系统表和数据表的内部格式。这些变化一般比较复杂,因此我们不维数据文件的向后兼容。 dump 将数据按照通用的格式输出,随后可以被重新加载并使用新的内部格式。


[size=14][size=10]3.7)(使用PostgreSQL)我需要使用什么计算机硬件 ?
[/b]

[size=10]由于计算机硬件大多数是兼容的,人们总是倾向于相信所有计算机硬件质量也是相同的。事实上不是, ECC RAM(带奇偶校验的内存),SCSI (硬盘)和优质的主板比一些便宜货要更加可靠且具有更好的性能。PostgreSQL几乎可以运行在任何硬件上,但如果可靠性和性能对你的系统很重要,你就需要全面的研究一下你的硬件配置了。在我们的
[size=10]邮件
[size=10]列表上也有关于 硬件配置和性价比的讨论。