一、CentOS6.5上安装postgresql-11.7
二、使用Navicat for postgresql远程连接数据库
网址:
使用wget进行下载:
1、增加一个postgres用户,并切换到postgres用户:
[root@hadoop002 ~]# useradd postgres
[root@hadoop002 ~]# su - postgres
2、tar命令进行解压:
[postgres@hadoop002 ~]$ tar -xzvf postgresql-11.7.tar.gz
3、做一个软连接方便后续的数据库升级:
[postgres@hadoop002 ~]$ ln -s postgresql-11.7/ postgres
4、进入postgres的目录进行编译安装前的环境检查:
[postgres@hadoop002 postgres]$./configure --prefix=/home/postgres/progres
5、第四步没有报错包缺失的话就可以直接进行编译操作:
[postgres@hadoop002 postgres]$make && make install
注意点:postgresql不能使用root超级用户进行启动,所以我们一开始就增加了一个postgres普通用户
1、创建data数据目录、log日志目录:
[postgres@hadoop002 postgres]$ mkdir data
[postgres@hadoop002 postgres]$ touch log
2、postgres用户下配置环境变量:
export PGHOME=/home/postgres/postgres
export PGDATA=/home/postgres/postgres/data
export PGLOG=/home/postgres/postgres/log
export PATH=$PGHOME/bin:$PATH
3、source一下进行生效:
source ~/.bashrc
1、进入到bin目录,使用如下命令进行初始化数据库:
[postgres@hadoop002 bin]$ ./initdb -D /home/postgres/postgres/data/ -U postgres --locale=en_US.UTF8 -E UTF8
--help查看命令帮助:
[postgres@hadoop002 bin]$ ./initdb --help
-D, --pgdata=]DATADIR location for this database cluster
-U, --username=NAME database superuser name
--locale=LOCALE set default locale for new databases
-E, --encoding=ENCODING set default encoding for new databases
1、navicat for postgresql客户端下载破解自行百度查看教程即可
2、最主要的是在$PGHOME/data目录下的两个文件需要编辑修改,建议修改前先copy备份一下:
[postgres@hadoop002 data]$ cp pg_hba.conf pg_hba.conf.bak
[postgres@hadoop002 data]$ cp postgresql.conf postgresql.conf.bak
3、修改postgresql.conf文件:
1、找到如下2行:
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
#port = 5432 # (change requires restart)
有注释的把注释的*号先去掉,进行如下修改:
listen_addresses = '*'
监听地址
port = 5432
监听端口
4、编辑修改pg_hba.conf
1、找到如下位置目录,原有行下面增加一行:
# IPv4 local connections:
host all all 127.0.0.1/32 trust
//如下这行是增加的
host all all 0.0.0.0/0 trust
5、进入bin目录下启动数据库:
[postgres@hadoop002 bin]$ ./pg_ctl -D $PGDATA -l $PGLOG start
waiting for server to start.... done
server started
6、查看命令帮助:
[postgres@hadoop002 bin]$ ./pg_ctl --help
pg_ctl is a utility to initialize, start, stop, or control a PostgreSQL server.
-D, --pgdata=DATADIR location of the database storage area
数据库存储区域的路径
-l, --log=FILENAME write (or append) server log to FILENAME
指定日志输出的位置
1、进入到这个目录,拷贝到/etc/init.d目录下:
[postgres@hadoop002 start-scripts]$ pwd
/home/postgres/postgres/contrib/start-scripts
[postgres@hadoop002 start-scripts]$ cp linux /etc/init.d/postgresql
2、编辑拷贝到/etc/init.d目录下的文件:
# Installation prefix
prefix=/home/postgres/postgres
# Data directory
PGDATA="/home/postgres/postgres/data"
# Who to run the postmaster as, usually "postgres". (NOT "root")
PGUSER=postgres
# Where to keep a log file
PGLOG="/home/postgres/postgres/log"
3、对这个脚本赋予可执行权限:
[postgres@hadoop002 init.d]$ pwd
/etc/init.d
[postgres@hadoop002 init.d]$ sudo chmod +x postgresql
4、添加自启动服务:
[postgres@hadoop002 init.d]$ sudo chkconfig --add postgresql
5、测试对这个服务重启是否okay
[postgres@hadoop002 init.d]$ sudo service postgresql restart
Restarting PostgreSQL: ok
[postgres@hadoop002 init.d]$ sudo netstat -nlp|grep 5432
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 15786/postmaster
tcp6 0 0 :::5432 :::* LISTEN 15786/postmaster
unix 2 [ ACC ] STREAM LISTENING 33411013 15786/postmaster /tmp/.s.PGSQL.5432
注意:自启动服务的话需要注意CentOS6和CentOS7系统的区别
2、进入linux命令的终端下,为role进行密码修改:
[postgres@hadoop002 bin]$ ./psql
psql (11.7)
Type "help" for help.
postgres=# alter user postgres with password 'postgres';
ALTER ROLE