环境说明:Aix Unix 7.1
需要用到的软件:
gcc
readline
具体可根据自己情况安装所需软件
1、下载源码包
https://www.postgresql.org/ftp/source/v9.5.1/
2、解压
3、添加用户及用户组
增加组:
bash-4.2# mkgroup postgres
增加用户名:
bash-4.2# useradd -d /usr/local/pgsql -g postgres -m postgres
bash-4.2# passwd postgres
4、安装数据库
4.1 进入postgresql-9.5.1目录,安装PostgreSQL数据库
配置:
bash-4.2# ./configure --prefix=/usr/local/pgsql/
编译:
bash-4.2# gmake
安装:
bash-4.2# gmake install
4.2 进入postgresql-9.5.1/contrib/dblink目录下,安装dblink
编译:
bash-4.2# gmake
安装:
bash-4.2# gmake install
到此,库安装结束
5、初始化数据库
bash-4.2# /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data --locale=C --encoding=UTF8
......
Success. You can now start the database server using:
......
6、修改PostgreSQL配置文件
6.1 修改 pg_hba.conf 文件(/usr/local/pgsql/data目录下)
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 172.20.1.0/24 md5
host all all 192.168.199.0/24 md5
红色为添加内容
6.2 修改postgresql.conf文件(/usr/local/pgsql/data目录下)
主要修改内容:
listen_addresses = '*'
port = 5432
max_connections = 1024
shared_buffers = 512MB
search_path = '"$user", public,t_user1,t_user2' (其中t_user1,t_user2为我自己需要用到的模式)
7、修改环境变量
bash-4.2# vi /etc/profile
主要添加内容:
PG_HOME=/usr/local/pgsql
PGDATA=$PG_HOME/data
PATH=$PG_HOME/bin:$PATH
PGLIB=$PG_HOME/lib
export PG_HOME PGDATA PATH PGLIB
bash-4.2# source (使环境变量生效)
8、初始化数据库
8.1 切换到postgres用户
su postgres
查看当前数据库状态:
pg_ctl status
启动数据库:
pg_ctl start
8.2登录数据库:(psql --help 可查看命令帮助)
psql -h 127.0.0.1 -p 5432 -U postgres -d postgres
--到此安装已经完成,下面的内容是个人备忘记录
通过'\i' 命令执行已有脚本,或者直接执行sql语句
8.3 创建登录角色
\i /usr/local/pgsql/0_create_role.sql
补充脚本内容:
CREATE ROLE t_user1 LOGIN
PASSWORD 'test_1234'
SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION;
8.4创建表空间(注:表空间路径需要提前创建)
\i 1_create_tablespace.sql
补充脚本内容:
CREATE TABLESPACE SP_DATA OWNER t_user1 LOCATION '/usr/local/pgsql/9.5/smart_data';
CREATE TABLESPACE SP_INDEX OWNER t_user1 LOCATION '/usr/local/pgsql/9.5/smart_index';
8.5 创建数据库
\i 2_create_db.sql
补充脚本内容:
CREATE DATABASE test_db
WITH OWNER = t_user1
ENCODING = 'UTF8'
TABLESPACE = sp_data
CONNECTION LIMIT = -1;
--到此一个空数据库创建完成,可启用其它客户端进行访问