postgresql 安装体验

来源:互联网 发布:网络教育 入学考试 编辑:程序博客网 时间:2024/06/03 19:51

Linux环境PostgreSQL源码编译安装

Linux版本: CentOS7
PostgreSQL版本: postgresql-9.3.2.tar.gz 
数据存放目录: /var/postgresql/data 
软件安装位置: /usr/local/postgresql 

1.下载postgresql:  wget https://ftp.postgresql.org/pub/source/v9.3.2/postgresql-9.3.2.tar.gz

2. 安装步骤及脚本:

#!/bin/bash#创建用户和组groupadd postgresuseradd -g postgres postgres#进入安装目录cd /usr/local/#删除原有安装rm -rf postgresql#解压tar zxvf postgresql-9.3.2.tar.gzcd postgresql-9.3.2#配置./configure --prefix=/usr/local/postgresql --without-readline#编译安装make && make install#安装contrib目录下的一些工具,是第三方组织的一些工具代码,建议安装cd /usr/local/postgresql-9.3.2/contribmake && make install#添加环境变量,并使之生效(初级用户请自行学习设置)export PATH=/usr/local/postgresql/bin:$PATH#建postgres数据库的目录mkdir -p /var/postgresql/datachown postgres:postgres /var/postgresql/*chown postgres:postgres /usr/local/postgresql/*chmod -R 775 /var/postgresql/*#切换用户su postgres#初始化数据库initdb -D /var/postgresql/data#启动服务pg_ctl -D /var/postgresql/data -l /var/postgresql/logfile start#创建测试数据库create database test;#切换到david 数据库\c test#创建测试表create table test (id integer, name text);#插入测试数据insert into test values (1,'david');#选择数据select * from test ;#修改linux 系统用户postgres 的密码passwd postgres#postgres#修改PostgresSQL 数据库配置实现远程访问#修改postgresql.conf 文件vi /var/postgresql/data/postgresql.conf#--------------------允许远程连接---------------------------#修改客户端认证配置文件pg_hba.conf,将需要远程访问数据库的IP地址或地址段加入该文件vi /var/postgresql/data/pg_hba.conf#在文件的最下方加上下面的这句话host    all         all         0.0.0.0/0             trust#设置监听整个网络,查找“listen_addresses ”字符串,vi /var/postgresql/data/postgresql.conf#修改为如下:listen_addresses = '*' #重启服务pg_ctl -D /var/postgresql/data -l /var/postgresql/logfile restart#停止服务pg_ctl -D /var/postgresql/data -l /var/postgresql/logfile stop#端口是否启用netstat -anp | grep 5432


问题: netstat -ntlp 发现5432启动失败  

解决方法:

切换到 具有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 数据库,问题解决。



操作步骤:

 su postgres--切换到postgres用户

 psql postgres--进入数据库模式,可以输入命令了





1 0
原创粉丝点击