热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PostgreSQL9.0安装过程笔记

PostgreSQL9已经发布了,我属于新版本控,于是计划着在VPS(winserver2003)和服务器(CentOS5.5)上安装,先不讲过程,结果是服务器上已成功安装,VPS主动放弃。在些提醒各位,PostgreSQL9安装很纠结,选择需慎重。一、VPS(winserver2003)直接在官网

PostgreSQL 9已经发布了,我属于新版本控,于是计划着在VPS( win server 2003)和服务器(CentOS 5.5)上安装,先不讲过程,结果是服务器上已成功安装,VPS主动放弃。在些提醒各位,PostgreSQL 9安装很纠结,选择需慎重。

一、VPS(win server 2003)

直接在官网下载 win安装包.exe文件,按照8.4版本的习惯一路直下,在安装完成的时候出现 “ Problem running post-install step. Installation may not complete correctly. The database cluster initialisation failed.” GG一下,看到有人讲在非英文系统下安装时Local选择非默认语言,如Singapore或c(别听那些不靠谱的说选Chinese,在9.0版本中压根没那选项)。于是把自己电脑上( win xp)的8.4卸载,重新安装选择Singapore(新加坡,对中文支持比较好),依然一路直下,OK搞定。然后把VPS卸载重新安装,依然出错,泪流满面……把公司另台电脑格掉装上win server 2003,安装时local选Singapore,结果成功。后来又在VPS上尝试local时选C或者其他,依然失败,然后又拿8.4甚至8.3版本安装失败依然。在其他win系统(包括同版本的win server 2003)中可正常安装,好吧VPS,到期我就换掉你丫的。

win正常安装pg9请注意:中文版系统安装时local一定选择非默认语言。

二、服务器(CentOS 5.5)

一直想给服务器(使用CentOS)装上PostgreSQL,最初的时候使用yum,结果一看是在Down 8.3版本(丫的先不说9.0版已经横空出世,8.4版可出来N久了),直接ctrl+C。

之后参照鱼哥(smallfish)的教程(点击)下载了并安装了pg9初始化时:

service postgresql initdb
Usage: /etc/init.d/postgresql {start|stop|restart|reload|status}
@##@!¥¥@#什么东东,可以使用了吗?
service postgresql start
Starting PostgreSQL: ok
service postgresql stop
Stopping PostgreSQL: pg_ctl: PID file "/usr/local/pgsql/data/postmaster.pid" does not exist
Is server running?
什么状况?欲哭无泪……于是等yum安装Pg版本升级到9.0。前天几发现已经到9.0了:

yum postgresql postgresql-server
最后出现:

apr-util-1.2.7-11.el5_5.1.i386 from installed has depsolving problems
--> Missing Dependency: libpq.so.4 is needed by package apr-util-1.2.7-11.el5_5.1.i386 (installed)
lxphp-5.2.1-400.i386 from installed has depsolving problems
--> Missing Dependency: libpq.so.4 is needed by package lxphp-5.2.1-400.i386 (installed)
Error: Missing Dependency: libpq.so.4 is needed by package lxphp-5.2.1-400.i386 (installed)
Error: Missing Dependency: libpq.so.4 is needed by package apr-util-1.2.7-11.el5_5.1.i386 (installed)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
看到这些真是心灰意冷,感觉服务器被我折腾的千疮百孔……

后来就去Gtalk去问鱼哥,操作如下:

查看rpm安装包
[root@localhost ~]# rpm -qa | grep postgres
postgresql-libs-8.1.22-1.el5_5.1
postgresql90-libs-9.0.0-1PGDG.rhel5
postgresql90-contrib-9.0.0-1PGDG.rhel5
postgresql90-devel-9.0.0-1PGDG.rhel5
postgresql90-9.0.0-1PGDG.rhel5
postgresql90-server-9.0.0-1PGDG.rhel5
貌似装好了?太貌似了。可是依然:
service postgresql initdb
Usage: /etc/init.d/postgresql {start|stop|restart|reload|status}
service postgresql start
Starting PostgreSQL: ok
service postgresql stop
Stopping PostgreSQL: pg_ctl: PID file "/usr/local/pgsql/data/postmaster.pid" does not exist
Is server running?
源码安装一次,然后rpm安装一次,2个混乱了?/usr/local/pgsql/源码编译的prefix,那么把编译的直接删除,MV到一个临时目录下,清理干净/var/local/pgsql、/var/lib/pgsql,mv走/init.d/postgres。按照依赖删除rpm。

全部删除完毕,重新rpm安装初始化时:

[root@localhost home]# service postgresql initdb
/usr/local/pgsql/bin/postmaster not found
要么编译安装吧,基本选项就是prefix,指定个目录就OK了。可是依然无法初始化……

最后,把由鱼哥持刀(当然不是杀鱼:)解决

原因:initdb不支持gb编码,需手动指定编码、手动指定initdb目录。

操作:

export LC_ALL=UTF8
initdb -D /var/lib/pgsql/9.0/data(此目录为rpm安装默认目录)
另:安装psycopg2

使用easy_install和下载安装均报错:

[root@localhost psycopg2-2.2.2]# python setup.py install
running install
running build
running build_py
running build_ext
Warning: Unable to find 'pg_config' filebuilding 'psycopg2._psycopg' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.2.2 (dt dec ext pq3)" -DPSYCOPG_EXTENSIOnS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -DHAVE_PQPROTOCOL3=1 -I/usr/local/include/python2.6 -I. -c psycopg/psycopgmodule.c -o build/temp.linux-i686-2.6/psycopg/psycopgmodule.o -Wdeclaration-after-statement
在包含自 psycopg/psycopgmodule.c:32 的文件中:
./psycopg/psycopg.h:31:22: 错误:libpq-fe.h:没有那个文件或目录
In file included from psycopg/psycopgmodule.c:33:
./psycopg/connection.h:95: 错误:expected specifier-qualifier-list before ‘PGconn’
./psycopg/connection.h:116: 错误:expected ‘)’ before ‘*’ token
./psycopg/connection.h:117: 错误:expected ‘)’ before ‘*’ token
./psycopg/connection.h:118: 错误:expected ‘)’ before ‘*’ token
./psycopg/connection.h:119: 错误:expected ‘)’ before ‘*’ token
./psycopg/connection.h:123: 错误:expected declaration specifiers or ‘...’ before ‘PGconn’
In file included from psycopg/psycopgmodule.c:34:
./psycopg/cursor.h:60: 错误:expected specifier-qualifier-list before ‘PGresult’
In file included from psycopg/psycopgmodule.c:35:
./psycopg/green.h:63: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
在包含自 psycopg/psycopgmodule.c:36 的文件中:
./psycopg/lobject.h:31:28: 错误:libpq/libpq-fs.h:没有那个文件或目录
In file included from psycopg/psycopgmodule.c:36:
./psycopg/lobject.h:51: 错误:expected specifier-qualifier-list before ‘Oid’
./psycopg/lobject.h:57: 错误:expected declaration specifiers or ‘...’ before ‘Oid’
./psycopg/lobject.h:57: 错误:expected declaration specifiers or ‘...’ before ‘Oid’
psycopg/psycopgmodule.c: In function ‘psyco_register_type’:
psycopg/psycopgmodule.c:269: 错误:‘cursorObject’ 没有名为 ‘string_types’ 的成员
psycopg/psycopgmodule.c:272: 错误:‘connectionObject’ 没有名为 ‘string_types’ 的成员
error: command 'gcc' failed with exit status 1
原因:pg目录里lib和include没有加入编译,找不到头文件和lib共享库

操作:

export C_INCLUDE_PATH=/usr/pg-90/include
export LIBRARY_PATH=/usr/pg-90/lib
然后: easy_install psycopg2或者解开下载压缩包python setup.py install就搞定了。

以上安装pg9和psycopg2均得到鱼哥大力帮助,表示感谢。


推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
author-avatar
何cecilio
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有