##Postgresql数据库的优势
1、目前功能最强大的开源数据库
2、稳定可靠
3、开源省钱
4、支持广泛
5、Postgresql社区活跃
##pg跟mysql对比,mysql有以下缺点
1、功能不够强大
2、性能优化工具和度量信息不足
3、在线操作功能较弱
--安装所需要的系统软件包
yum groupinstall -y "Development tools"
yum install -y bison flex readline-devel zlib-devel
--编译,size参数只能编译时指定,后期无法更改
./configure --prefix=/opt/pg10/ --with-pgport=1921
gmake world
gmake install
--安装完成
--为方便管理,设置软连接
[root@pgnode1 ~]# ln -s /opt/pg10/ /opt/pgsql
--创建pg用户
groupadd -g 1000 postgres
useradd -g 1000 -u 1000 -d /home/postgres -m postgres
--创建相关目录
[root@pgnode1 ~]# mkdir -p /pgdata/10/{data,backups,scripts,archive_wals}
[root@pgnode1 ~]# chown -R postgres:postgres /pgdata/10/
[root@pgnode1 ~]# chmod 0700 /pgdata/10/data/
--初始化数据目录(postgres用户)
/opt/pgsql/bin/initdb -D /pgdata/10/data/ -W
--or
/opt/pgsql/bin/pg_ctl init -D /pgdata/10/data/ -o "-W"
--环境变量
export LD_LIBRARY_PATH=/opt/pgsql/lib
export PGHOME=/opt/pgsql
export PGDATA=/pgdata/10/data
export PATH=$PGHOME/bin:$PATH
--启动
pg_ctl -D /pgdata/10/data/ start
--or
postgres -D /pgdata/10/data
--测试数据库是否允许连接
pg_isready -p 1921
--配置开机自动启动
[postgres@pgnode1 start-scripts]$ pwd
/pgbackup/postgresql-10.6/contrib/start-scripts
[postgres@pgnode1 start-scripts]$ ls -l
total 16
-rw-r--r-- 1 1107 1107 1467 Nov 6 05:45 freebsd
-rw-r--r-- 1 1107 1107 3552 Nov 6 05:45 linux
drwxrwxrwx 2 1107 1107 4096 Nov 6 05:58 macos
drwxrwxrwx 2 1107 1107 4096 Nov 6 05:58 osx
[postgres@pgnode1 start-scripts]$
--注意修改相关目录
[postgres@pgnode1 start-scripts]$ cat linux |grep -v "#" |grep -v "^$"
prefix=/opt/pgsql
PGDATA="/pgdata/10/data"
PGUSER=postgres
PGLOG="$PGDATA/log"
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON="$prefix/bin/postmaster"
PGCTL="$prefix/bin/pg_ctl"
cp linux /etc/init.d/postgresql-10
chmod +x /etc/init.d/postgresql-10
chkconfig postgresql-10 on/off
--ph_hba.conf 客户端连接认证,
host all all 192.168.8.19/32 trust
--修改需要重启,或者重新加载
pg_ctl -D /pgdata/10/data reload
--postgresql.conf 主要配置文件,资源限制、集群、文件位置等
alter system set listen_addresses='*';
--database级别
alter database name set configparameter to =;
alter database name reset configparameter;
--session 级别
set configparameter to ;
set configparameter to default;
--查看配置
select name,setting from pg_settings;
--如果不需要重启参数,可以使用以下命令
select pg_reload_conf();
--查看监听端口
[postgres@pgnode1 data]$ netstat -nlt |grep 1921
--连接
[postgres@pgnode1 data]$ netstat -nlt |grep 1921
tcp 0 0 192.168.8.19:1921 0.0.0.0:* LISTEN
[postgres@pgnode1 data]$ psql -h 192.168.8.19 -p 1921
psql (10.6)
Type "help" for help.
postgres=# select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 10.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16), 64-bit
(1 row)
postgres=#