源码安装postgresql934,源码postgresql934
0[root@pghost ~]# uname -a
Linux pghost 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@pghost ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
1
yum -y install readline readline-devel zlib zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make flex bison perl perl-devel perl-ExtUtils*
2
useradd postgres
3
vi /home/postgres/.bash_profile
export PGPORT=5432
export PGDATA=/opt/pgsql9.3.4/pgdata
export LANG=en_US.utf8
export PGHOME=/opt/pgsql
export LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export PATH=$PGHOME/bin:$PATH:.
export MANPATH=$PGHOME/share/man:$MANPATH
export PGUSER=postgres
export PGHOST=$PGDATA
4
[root@pghost ~]# cd /root/backup/
[root@pghost backup]# ll
total 21356
-rw-r--r--. 1 root root 21865589 Sep 7 09:21 postgresql-9.3.4.tar.gz
[root@pghost backup]# tar -zxvf postgresql-9.3.4.tar.gz
[root@pghost backup]# ll
total 21360
drwxrwxrwx. 6 1107 1107 4096 Mar 18 2014 postgresql-9.3.4
5
[root@pghost backup]# cd postgresql-9.3.4
[root@pghost postgresql-9.3.4]# ./configure --prefix=/opt/pgsql9.3.4 --with-pgport=5432 --with-perl --with-tcl --with-python --with-openssl --with-pam --without-ldap --with-libxml --with-libxslt --enable-thread-safety --with-wal-blocksize=8 --with-blocksize=8 && gmake world
...
...
gmake[2]: Leaving directory `/root/backup/postgresql-9.3.4/contrib/xml2'
gmake[1]: Leaving directory `/root/backup/postgresql-9.3.4/contrib'
PostgreSQL, contrib, and documentation successfully made. Ready to install.
[root@pghost postgresql-9.3.4]#
[root@pghost postgresql-9.3.4]# ll
total 1448
-rw-r--r--. 1 root root 359981 Sep 19 17:26 config.log
-rwxr-xr-x. 1 root root 39791 Sep 19 17:26 config.status
-rw-r--r--. 1 root root 3618 Sep 19 17:26 GNUmakefile
drwxrwxrwx. 15 1107 1107 4096 Sep 19 17:26 src
6
[root@pghost postgresql-9.3.4]# gmake install-world
...
...
gmake[2]: Leaving directory `/root/backup/postgresql-9.3.4/contrib/xml2'
gmake[1]: Leaving directory `/root/backup/postgresql-9.3.4/contrib'
PostgreSQL, contrib, and documentation installation complete.
[root@pghost postgresql-9.3.4]#
7
[root@pghost postgresql-9.3.4]# ll /opt/
total 8
drwxr-xr-x. 6 root root 4096 Sep 19 17:31 pgsql9.3.4
drwxr-xr-x. 2 root root 4096 Nov 22 2013 rh
[root@pghost postgresql-9.3.4]# ln -s /opt/pgsql9.3.4 /opt/pgsql
[root@pghost postgresql-9.3.4]# ll /opt/
total 8
lrwxrwxrwx. 1 root root 15 Sep 19 17:33 pgsql -> /opt/pgsql9.3.4
drwxr-xr-x. 6 root root 4096 Sep 19 17:31 pgsql9.3.4
drwxr-xr-x. 2 root root 4096 Nov 22 2013 rh
[root@pghost postgresql-9.3.4]#
[root@pghost postgresql-9.3.4]# ll /opt/pgsql9.3.4/
total 16
drwxr-xr-x. 2 root root 4096 Sep 19 17:31 bin
drwxr-xr-x. 6 root root 4096 Sep 19 17:31 include
drwxr-xr-x. 4 root root 4096 Sep 19 17:31 lib
drwxr-xr-x. 8 root root 4096 Sep 19 17:31 share
8
[root@pghost ~]# chown -R root:daemon /opt/pgsql9.3.4/
[root@pghost ~]# ll /opt/
total 8
lrwxrwxrwx. 1 root root 15 Sep 19 17:33 pgsql -> /opt/pgsql9.3.4
drwxr-xr-x. 6 root daemon 4096 Sep 19 17:31 pgsql9.3.4
drwxr-xr-x. 2 root root 4096 Nov 22 2013 rh
[root@pghost ~]# ll /opt/pgsql9.3.4/
total 16
drwxr-xr-x. 2 root daemon 4096 Sep 19 17:31 bin
drwxr-xr-x. 6 root daemon 4096 Sep 19 17:31 include
drwxr-xr-x. 4 root daemon 4096 Sep 19 17:31 lib
drwxr-xr-x. 8 root daemon 4096 Sep 19 17:31 share
9
[root@pghost pgsql9.3.4]# mkdir pgdata
[root@pghost pgsql9.3.4]# chown postgres:postgres pgdata/
[root@pghost pgsql9.3.4]# ll
total 20
drwxr-xr-x. 2 root daemon 4096 Sep 19 17:31 bin
drwxr-xr-x. 6 root daemon 4096 Sep 19 17:31 include
drwxr-xr-x. 4 root daemon 4096 Sep 19 17:31 lib
drwxr-xr-x. 2 postgres postgres 4096 Sep 19 17:48 pgdata
drwxr-xr-x. 8 root daemon 4096 Sep 19 17:31 share
10
[root@pghost postgresql-9.3.4]# su - postgres
[postgres@pghost ~]$ initdb -D $PGDATA -E UTF8 --locale=C -U postgres -W
...
...
syncing data to disk ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
Success. You can now start the database server using:
postgres -D /opt/pgsql9.3.4/pgdata
or
pg_ctl -D /opt/pgsql9.3.4/pgdata -l logfile start
[postgres@pghost ~]$
11
[root@pghost opt]# ll pgsql9.3.4/
total 20
drwxr-xr-x. 2 root daemon 4096 Sep 19 17:31 bin
drwxr-xr-x. 6 root daemon 4096 Sep 19 17:31 include
drwxr-xr-x. 4 root daemon 4096 Sep 19 17:31 lib
drwx------. 15 postgres postgres 4096 Sep 22 11:51 pgdata
drwxr-xr-x. 8 root daemon 4096 Sep 19 17:31 share
12
[root@pghost opt]# vi pgsql9.3.4/pgdata/pg_hba.conf
# IPv4 local connections:
host all all 0.0.0.0/0 md5
13
[root@pghost opt]# vi pgsql9.3.4/pgdata/postgresql.conf
listen_addresses = '*'
#listen_addresses = 'localhost'
unix_socket_directories = '.'
#unix_socket_directories = '/tmp'
unix_socket_permissions = 0700
#unix_socket_permissions = 0777
14
[postgres@pghost ~]$ pg_ctl -D /opt/pgsql9.3.4/pgdata/ -l /opt/pgsql9.3.4/pgdata/pg_log/startup.log start
server starting
[postgres@pghost ~]$
[postgres@pghost ~]$ ps -ef | grep postgres
postgres 33829 1 0 15:26 pts/1 00:00:00 /opt/pgsql9.3.4/bin/postgres -D /opt/pgsql9.3.4/pgdata
postgres 33831 33829 0 15:26 ? 00:00:00 postgres: checkpointer process
postgres 33832 33829 0 15:26 ? 00:00:00 postgres: writer process
postgres 33833 33829 0 15:26 ? 00:00:00 postgres: wal writer process
postgres 33834 33829 0 15:26 ? 00:00:00 postgres: autovacuum launcher process
postgres 33835 33829 0 15:26 ? 00:00:00 postgres: stats collector process
[postgres@pghost ~]$
15
[root@pghost ~]# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
[root@pghost ~]# /etc/init.d/iptables restart
16
[root@hostalonetest ~]# /opt/PostgreSQL/9.3/bin/psql -h 192.168.19.77 -Upostgres
Password for user postgres:
psql.bin (9.3.5, server 9.3.4)
Type "help" for help.
postgres=#
参考:http://www.postgresql.org/docs/9.3/interactive/tutorial-install.html
-----------------
blog.csdn.net/beiigang
这里有下载,各个版本都有
www.postgresql.org/
安装的说明:我学生以前整理的,不知道是否适用现在版本
/************************************************
这是一个介绍安装postgresql的说明文档,win 下的话写字板打开linux下直接打开。
以postgresql-8.4.6为例,PS;安装过程中一但提示权限不够,就到root用户下,重新执行命令即可,屡试不爽。
**************************************************/
最开始我们需要创建一个postgres用户,首先点击左下角(或者左上角,看你的在那里了)的那个红帽(相当于win的开始),
管理-->用户和组群
添加用户->对话框里面填写,用户名:postgres
全称 :PostgreSQL Server
密码:(自己输入一个)
主目录:/var/lib/pgsql
登录: /bin/bash
1.在这里我们利用源代码进行安装,首先我们获得源代码,如果没有可以到www.postgresql.org/download/下载。
2.在这里我介绍压缩包后扩展名字为tar.bz2的解压方式,
首先在当前压缩包所在目录下,打开终端,输入命令,
bzip2 -d postgresql-8.4.6.tar.bz2
tar -xvf postgresql-8.4.6.tar
3.经过上面的命令我们获得了PG的源代码文件夹,默认命名为postgresql-8.4.6,进入这个文件夹,我们看到有一些文件和文件夹,打开终端(右键鼠标选择打来,或者快捷键F4都可以打开),下面是一些通用的在Linux上面安装原代码过程,以后也可能用到。注意这三个命令
./configure
make
make install
在make install 需要到root用户下面安装。
所以应该会需要命令,su root并且输入密码。
安装完成后,我们重启电脑,用postgres登录进去系统。
4.所有命令执行完毕后我们就会安装完成PG 的安装,我们可以到默认安装目录下面查看一下,
默认的目录为/usr/local/pgsql,
在这里我们需要创建一个数据库存放的文件夹,打开终端,到root用户下执行命令,也就是先su root然后在执行下面命令。
mkdir data
chmod 777 data
chown postgres data
5.执行命令
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
完成数据库的初始......余下全文>>
可选择源码编译安装:
一、在root用户下使用源码编译方式安装PostgreSQL
1. 解压
tar jxvf postgresql-9.1.2.tar.bz2
2. 检查依赖软件包
rpm -qa | grep readline
rpm -qa | grep zlib
rpm -qa | grep gcc
rpm -qa | grep make
3. 如果缺少依赖软件包,安装以下软件包
gcc
make
zlib-devel
readline-devel
4. 配置PostgreSQL
cd postgresql-9.1.2
./configure --prefix=/usr/local/pgsql
5. 编译并安装PostgreSQL
make
make install
6. 创建组和用户
groupadd postgres
useradd -g postgres postgres
passwd postgres
7. 创建数据库库文件存储目录、给postgres赋予权限:
mkdir /usr/local/pgsql/data
cd /usr/local/pgsql
chown postgres.postgres data
touch /var/log/pgsql.log
chown postgres.postgres /var/log/pgsql.log
8. 初始化数据库目录(在postgres用户下执行命令)
cd /usr/local/pgsql/
./bin/initdb -E UTF-8 -D /usr/local/pgsql/data --locale=zh_CN.UTF-8