linux 安装postgreSQL 9版本

    xiaoxiao2021-03-25  151

    0.编译环境 Linux: CentOS 5.5 gcc: 4.1.2 1. 安装PostgreSQL 1) 解压postgresql-9.1.7.tar.bz2 tar jxvf postgresql-9.1.7.tar.bz2 postgresql-9.1.7.tar.bz2 2) 进入解压后的postgresql-9.1.7目录 cd postgresql-9.1.7 3) 编译postgresql源码 ./configure –prefix=/opt/pgsql-9.1.7 (这个路径是你想把数据库安装的路径) 执行的时候,看是否是解压包里面 执行 make (如果报gcc等包没有安装的话,yum install gcc* 等安装,再执行make) 执行make install 至此,完成postgresql的安装。进入/opt/pgsql-9.1.7目录可以看到安装后的postgresql的文件。 ls /opt/pgsql-9.1.7 建postgresql数据库 1) 创建postgres用户 useradd postgres 修改postgres密码 passwd postgres 2) 设置postgres用户的环境变量 切换到postgres用户 su - postgres 进入postgres的主目录 cd ~ 编辑~/.bash_profile文件 vi ~/.bash_profile 设置以下的环境变量 export PGHOME=/opt/pgsql-9.1.7 export PGDATA=~/data 最好找个容量大的目录 保存,退出vi。执行以下命令,使环境变量生效 source ~/.bash_profile 手动启动关闭: su - postgres 切换到该用户 pg_ctl start -D /usr/local/pgsql/data -o -i pg_ctl stop -D /usr/local/pgsql/data -o -i pg_ctl restart -D /usr/local/pgsql/data -o -i 可重新指定data路径 如果报错,往下面找,可能有解决方法 3) 初始化postgres数据库 initdb(初始化之后才能访问数据库) 至此,完成postgres数据库的初始化。 初始化的结果会在 /etc/rc.d/init.d/ 通过查看vi postgresql 即可知道相关安装信息 prefix=/usr/local/pgsql PGDATA=”/DATA/app/data” PGLOG=”$PGDATA/serverlog” 4) 启动postgres数据库实例 pg_ctl start 启动 可以看到postgresql数据库实例已经启动,通过下面的命令可以查看系统中运行的postgres进程 ps -ef | grep postgres 5) 连接postgresql数据库 psql -h 127.0.0.1 -d postgres -U postgres 6) 停止postgresql数据库实例 pg_ctl stop ps -ef | grep postgres 可以看到已经没有postgres进程 3. 设置PostgreSQL开机自启动 PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下 linux文件即为linux系统上的启动脚本 1)修改linux文件属性,添加X属性 chmod a+x linux 2) 复制linux文件到/etc/init.d目录下,更名为postgresql cp linux /etc/init.d/postgresql 3)修改/etc/init.d/postgresql文件的两个变量 prefix设置为postgresql的安装路径:/opt/pgsql-9.1.2 PGDATA设置为postgresql的数据目录路径: 4) 执行service postgresql start,就可以启动PostgreSQL服务 service postgresql start 5)设置postgresql服务开机自启动 chkconfig –add postgresql 执行上面的命令,就可以实现postgresql服务的开机自启动。

    如果有问题,可试试下一种方法 CentOS 6.3下PostgreSQL 的安装与配置

    如果启动失败,报错 bash-4.1$ FATAL: data directory “/var/lib/pgsql/9.3/data” has group or world access DETAIL: Permissions should be u=rwx (0700).

    切换到 具有root权限的用户, (1)先把文件夹 “/var/lib/pgsql/9.3/data” 的用户所属组,给postgres 用户: 进入/var/lib/pgsql/9.3目录 cd /var/lib/pgsql/9.3 chown -R postgres:postgres data (2)把data目前的所有文件及子目录文件权限改成: rwx (0700) chmod -R 0700 data 重启PostgreSQL 数据库,问题解决

    如果需要制定某些ip能访问该数据库 修改/DATA/app/data/pg_hba.conf 增加一行类似 host all all ip.0/24 md5 如果需要所有人,都访问,如下 host all all 0.0.0.0/0 trust 重新载入 pg_hba.conf 参考自 http://francs3.blog.163.com/blog/static/405767272017578522550/?suggestedreading&wumii

    $ pg_ctl reload server signaled 之后查看日志 pg_log 如果这个不生效,然后重启数据库(要切换到数据库用户) pg_ctl -m fast restart 完成. pg_hba.conf 文件简析,参考 http://www.cnblogs.com/hiloves/archive/2011/08/20/2147043.html

    转载请注明原文地址: https://ju.6miu.com/read-3982.html

    最新回复(0)