PostgreSql服务端安装及客户端安装
- 解压文件
tar jxvf postgresql-9.4.4.tar.bz2
- 安装并创建用户
因为postgresql不能用root 用户启动,需要为他重新新建一个用户
创建用户:
useradd pg944
进入下载目录
提前安装所有依赖包:
yum -y install readline*
yum -y install readline-devel*
yum -y install zlib-devel*
编译,设置安装目录
./configure --prefix=/home/pg944/pgsql
完成后执行:
gmake world
gmake install-world
3. 初始化数据库相关配置
1)首先修改Linux内核相关参数调整
vi /etc/sysctl.conf
在最下面加上
kernel.shmmni = 4096
kernel.sem = 50100 64128000 50100 1280
fs.file-max = 7672460
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vi /etc/security/limits.conf
在最下面加上:
- soft nofile 131072
- hard nofile 131072
- soft nproc 131072
- hard nproc 131072
- soft core unlimited
- hard core unlimited
- soft memlock 50000000
- hard memlock 50000000
- 设置防护墙
-A RH-Firewall-1-INPUT -p tcp -m tcp–dport 1999 -j ACCEPT - 初始化postgresql 用户的相关配置
su - pg944
1)添加环境变量
vi ~/.bash_profile
加上:
export PGPORT=1999
export PGDATA=/home/pg944/pg_root
export LANG=en_US.utf8
export PGHOME=/home/pg944/pgsql
export LD_LIBRARY_PATH= P G H O M E / l i b : / l i b 64 : / u s r / l i b 64 : / u s r / l o c a l / l i b 64 : / l i b : / u s r / l i b : / u s r / l o c a l / l i b : PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib: PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:LD_LIBRARY_PATH
export DATE=date +"%Y%m%d%H%M"
export PATH= P G H O M E / b i n : PGHOME/bin: PGHOME/bin:PATH:.
export MANPATH= P G H O M E / s h a r e / m a n : PGHOME/share/man: PGHOME/share/man:MANPATH
export PGUSER=postgres
export PGHOST=$PGDATA
alias rm=‘rm -i’
alias ll=‘ls -lh’
export PGDATABASE=postgres
保存配置:
source ~/.bash_profile - 初始化数据库
initdb -D $PGDATA -E UTF8 --locale=C -U postgres -W
密码:postgres - 验证
- 修改访问配置
cd P G D A T A 启 动 数 据 库 前 修 改 一 下 PGDATA 启动数据库前修改一下 PGDATA启动数据库前修改一下PGDATA下面的pg_hba.conf和postgresql.conf
pg_hba.conf用于配置控制访问数据库的来源
这里为了方便设置对所有地址开放,很不安全
改成
postgresql.conf是数据库的主配置文件,调整一下Linux内核参数
vi postgresql.conf
listen_addresses = ‘0.0.0.0’
max_connections = 100
superuser_reserved_connections = 10
unix_socket_directory = ‘.’
unix_socket_permissions = 0700
tcp_keepalives_idle = 60
tcp_keepalives_interval = 10
tcp_keepalives_count = 6
shared_buffers = 512MB
maintenance_work_mem = 512MB
max_stack_depth = 8MB
vacuum_cost_delay = 10ms
vacuum_cost_limit = 10000 # 1-10000 credits
bgwriter_delay = 10ms
wal_level = hot_standby
wal_buffers = 16384kB
checkpoint_segments = 32
checkpoint_timeout = 5min
archive_mode = off
archive_command = ‘/bin/date’ # ‘cp %p/arch/%f’
max_wal_senders = 32
hot_standby = on
random_page_cost = 2.0
effective_cache_size = 12000MB
log_destination = ‘csvlog’
logging_collector = on
log_directory = ‘pg_log’ #这里建议做修改,但得提前建好目录,并设置权限
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 10MB
log_min_duration_statement = 1s
log_checkpoints = on
log_lock_waits = on
deadlock_timeout = 1s
log_connections = on
log_disconnections = on
log_error_verbosity = verbose
log_statement = ‘ddl’
track_activity_query_size = 2048
autovacuum = on
log_autovacuum_min_duration = 0
9. 启动数据库服务
pg_ctl start
关闭:
pg_ctl stop
10. 通过psql 命令登录数据库
psql -h 192.168.1.136 -p 1999 -U postgres
本机:127.0.0.1
到此pg数据库就安装完成了下篇文章介绍客户端连pg数据库