实验室机子上编译的 postgresql84备忘录

由于实验室机子上存在在8.1版本,而且有很多的关联组件,所以没有删除,另行编译的,编译的路径选的不好/var/postgres84 # yum install gcc automake readline-devel zlib-devel # groupadd postgres84 # useradd -g postgres84 -d /var/postgres84 postgres84 # passwd postgres84 # ./configure --prefix=/var/postgres84 # make # make install 后续还有很多问题,慢慢解决 两个参考地址 http://hi.baidu.com/redfeathers/blog/item/27b040a967d65ef21f17a291.html http://hi.baidu.com/bsdgo/blog/item/ff8d01f8a7c656076c22eb56.html 发现还是不行,按以下内容编译的,当然部分还是有改动的: 因为PostgreSQL和FreeBSD系出同门,同是加州伯克利分校的学院派,postgresql最开始也就是在unix系统运行的,应该说freebsd+postgresql应该是最好的搭配吧。 不过因为需要,需要在linux下运行postgresql,正好尝试一下如下CentOS52下编译安装PostgreSQL8.4 一、安装前的准备 1、编译安装其他软件的所需的软件: #yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers 2、下载PostgreSQL8.4的源代码 下载地址:http://wwwmaster.postgresql.org/download/mirrors-ftp/source/v8.4.0/postgresql-8.4.0.tar.gz 选择一个服务器下载。如:#wget http://wwwmaster.postgresql.org/redir/198/h/source/v8.4.0/postgresql-8.4.0.tar.gz 二、编译并安装PostgreSQL8.4 #tar -zxf postgresql-8.4.0.tar.gz # 解压文件 #cd postgresql* #./configure --prefix=/usr/local/pgsql --without-readline #缺省时将自动使用 GNU Readline, (这样你可以方便地编辑和检索命令历史。)注意要--without-readline否则./configure失败,或者补全各种库,我尝试了一下失败,最后还是选择不安装 #make && make install 按照我的步骤,基本不会出错 三、配置Postgresql8.4 (1)创建PostgreSQL的用户,设定密码 #adduser postgres #passwd postgres (2)创建PostgreSQL的数据库目录,修改目录的权限属性 #mkdir /usr/local/pgsql/data #chown -R postgres /usr/local/pgsql (3)以postgres用户登陆 #su postgres (4)初始化数据库集群 #/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data (5)修改配置文件 修改/usr/local/pgsql/data/postgresql.conf 找到#listen_addresses = ‘localhost’修改为 listen_addresses = ‘*’ 修改/usr/local/pgsql/data/pg_hba.conf # IPv4 local connections: host all all 127.0.0.1/32 trust host all all 192.168.1.0/24 password (6)启动数据库服务 #su postgres #/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data 退出postgres用户#exit #ps aux | grep postgres 查看postgres是否真的启动 四、PostgreSQL数据库管理 1、创建root用户,方便执行命令 #/usr/local/pgsql/bin/psql -U postgres postgres postgres=#create role root with superuser createdb createrole login; #创建root用户 postgres=#alter user root with password '123456'; #修改root用户密码 2、创建常用命令快捷方式 #ln -s /usr/local/pgsql/bin/psql /usr/sbin/psql #ln -s /usr/local/pgsql/bin/createdb /usr/sbin/createdb #ln -s /usr/local/pgsql/bin/createuser /usr/sbin/createuser #ln -s /usr/local/pgsql/bin/pg_dump /usr/sbin/pg_dump #ln -s /usr/local/pgsql/bin/pg_ctl /usr/sbin/pg_ctl 3、创建表空间 #mkdir -p /data/pgsql/data/test/indexspace #mkdir -p /data/pgsql/data/test/tablespace #chown -R postgres /datapgsql/data #/usr/local/pgsql/bin/psql -U postgres postgres postgres=#CREATE TABLESPACE test_is OWNER test LOCATION '/home/db/test/indexspace'; postgres=#CREATE TABLESPACE test_ts OWNER test LOCATION '/home/db/test/tablespace'; 4、创建单个数据库用户 #/usr/local/pgsql/bin/psql -U postgres postgres postgres=#create role test with createdb login; postgres=#alter user test with password '123456'; 5、创建数据库 #createdb -D test_ts -O test -E UTF8 -T template0 testdb 在freebsd下,不需要 -T template0 ,而在centos下必须有这个,否则无法指定数据库的编码。 -D 指定表空间,-O 指定用户,-E 指定编码 -T 指定模板 6、向数据库导入数据和备份数据库 #pg_dump -U postgres testdb > testdb.dmp #备份 #psql -U postgres testdb < testdb.dmp #还原
posted @ 2011-01-11 10:36  Charliee  阅读(210)  评论(0编辑  收藏  举报