循序渐进PostgreSQL FAQ之安装篇

iihero_
《SybaseASE15.X全程实践》书籍作者
博客专家认证
2012-12-04 05:52:38
本帖为本版整理的FAQ帖,如有回帖,可以列出与PG安装有关的所有相关问题,到时都置入此帖里。欢迎大家提问。
(如无特殊说明,后文全用PG指代PostgreSQL)。

PG的安装分两种:
一. 一种是直接使用安装包或解压缩包,也就是二进制download方式,直接从:
1) 安装包方式
http://www.postgresql.org/download/
找到你要的平台,以windows为例,从http://www.enterprisedb.com/products/pgdownload.do#windows下载合适的版本,注意,32位平台只能下载32位的,64位操作系统下,可以同时使用32位和64位的,建议下载64位的。
具体安装过程,比较直接,如果是win7/win2008环境,需要以管理员身份运行,以避免不必要的错误。


2)也有直接二进制解压缩的版本,适用于“高级”用户。以windows为例,
  下载地址:
http://www.enterprisedb.com/products/pgbindownload.do下载。
你也可以从这里下载: http://hisql.googlecode.com/files/hisql2.0.zip, 这是我已经编译好并且打包好的二进制版本。与PG9.1.3对应。

  然后,将其解压至 d:\pgsql, 设置好环境变量,示例如下:
@ECHO OFF
REM The script sets environment variables helpful for PostgreSQL

set PGHOME=d:\pgsql
SET PATH="%PGHOME%\bin";%PATH%
SET PGDATA=%PGHOME%\data
SET PGDATABASE=postgres
SET PGPORT=5432

为方便,你可以将其设置到用户环境变量当中。 以下是系统初始化以及创建数据库的基本过程:
1. initdb --no-locale -E UTF-8 -D d:\pgsql\data

2. D:\pgsql>pg_ctl -D "d:/pgsql/data" -l logfile.log start
server starting

3. D:\pgsql\bin>createuser spring
Shall the new role be a superuser? (y/n) y

4. D:\pgsql\bin>createdb iihero

5. install the odbc driver:

regedit odbc_reg.reg

5. D:\pgsql>psql iihero
psql (9.1.3)
Type "help" for help.

iihero=# create table t(id varchar(32));
CREATE TABLE
iihero=# \encoding gbk;
iihero=# insert into t values('中国');
INSERT 0 1
iihero=# select * from t;
id
------
中国
(1 row)

iihero=# create table foo(id bigint);
CREATE TABLE
iihero=# insert into foo select * from generate_series(1, 100000);
INSERT 0 100000
iihero=# select oid from pg_database where datname='iihero';
oid
-------
16385
(1 row)

6.iihero=# \q

D:\pgsql>pg_ctl stop
waiting for server to shut down.... done
server stopped


二、第二种方式是源码包安装方式
从下面找你想编译的source:
http://www.postgresql.org/ftp/source/进入一个具体的版本分支, 以最新的9.2.1为例,你可以进入v9.2.1目录,下载源码:postgresql-9.2.1.tar.gz
 1. 如果是linux平台,确保linux平台有完整的gcc/g++/make/libtool开发包,直接linux下解压,然后进入源码目录,执行./configure --prefix=<你要安装的目录>
make
make install
install完以后,配置几个简单的环境变量到当前用户的shell profile里头即可。
 如:
 export PGHOME=/home/iihero/pgsql/9.2
export PATH=$PGHOME/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGHOME/lib
export PGDATA=$PGHOME/data



2. 如果是windows平台,有兴趣可以参考: http://blog.csdn.net/iihero/article/details/7447428
 这里列出简要的步骤:
1. VS2005(完全安装, 要用VC8), (VS2008用来编译也是可以的,但是最后的工程文件还是VS2005的)
2. Active Perl5.8后续版本,确保perl\bin在PATH环境变量里头
3. source code: http://www.postgresql.org/ftp/source/v9.1.3/

http://code.google.com/p/hisql/downloads/list。这个包是免安装版。
里边已经放置了odbc, jdbc, ado.net包以及pgAdmin客户端。

1) 解压源码至E:\PROJECTS\postgresql-9.1.3

2 ) 假设VS2005安装到:D:\tools\vs8, 进入cmd窗口:运行D:\tools\vs8\vc\bin\vcvars32.bat,以得到所有有用的VC编译器环境变量。
进入目录:E:\PROJECTS\postgresql-9.1.3\src\tools\msvc

3) 运行build.bat DEBUG >> \build.log
4) 检查没什么错误(0 errors)之后,运行install.bat d:\pgsql_debug,将build出来之后的东西安装到此位置。


后边的步骤就与二进制解压缩的版本是一样的。


...全文
6011 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ecust_h 2015-04-09
  • 打赏
  • 举报
回复
大神,这个提示乱码是怎么回事啊?
huguangshanse00 2014-06-27
  • 打赏
  • 举报
回复
楼主总结的很好, 对linux版本postgres安装 我总结如下:http://blog.csdn.net/huguangshanse00/article/details/11022691
qq_16941525 2014-06-26
  • 打赏
  • 举报
回复
大神 请看看我的帖子吧 postgresql 死活装不上 不知为何!
seekts 2013-05-21
  • 打赏
  • 举报
回复
开发c++连接数据库的程序,如何编译静态库?
佳崴 2013-03-22
  • 打赏
  • 举报
回复
引用 1 楼 WWWWA 的回复:
学习了,安装时还要选择字符集
是不是选C呀,这个是不限区域的。不太懂,就当抛砖引玉吧。
mylove156 2013-01-17
  • 打赏
  • 举报
回复
引用 3 楼 clqaitxp 的回复:
引用 1 楼 WWWWA 的回复: 学习了,安装时还要选择字符集 一般用UTF8
是的,Unicode
clqaitxp 2012-12-19
  • 打赏
  • 举报
回复
引用 1 楼 WWWWA 的回复:
学习了,安装时还要选择字符集
一般用UTF8
iihero_ 2012-12-04
  • 打赏
  • 举报
回复
引用 1 楼 WWWWA 的回复:
学习了,安装时还要选择字符集
嗯,安装时确实要是要选择字符集。EnterpriseDB的安装版,其实做的相当不错,可以在线下载一些第三方包。
WWWWA 2012-12-04
  • 打赏
  • 举报
回复
学习了,安装时还要选择字符集

954

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧