Linux下安装postgresql-11.7并使用navicat进行远程连接

一、CentOS6.5上安装postgresql-11.7

  • 1.1、创建data、log目录 && 配置环境变量
  • 1.2、初始化数据库

二、使用Navicat for postgresql远程连接数据库

  • 2.1、配置启动数据库
  • 2.2、postgresql配置开机自启动&&修改postgres数据库的密码
  • 2.3、尝试使用navicat for postgresql进行连接数据库

一、CentOS6.5上安装postgresql-11.7

1、进入官网,下载source源码包:

网址:

  • https://www.postgresql.org/ftp/source/v11.7/

使用wget进行下载:

  • wget https://ftp.postgresql.org/pub/source/v11.7/postgresql-11.7.tar.gz

2、进入linux命令下:

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
Linux下安装postgresql-11.7并使用navicat进行远程连接_第1张图片

5、第四步没有报错包缺失的话就可以直接进行编译操作:
[postgres@hadoop002 postgres]$make && make install

等待编译安装完成即可,如下图表示成功进行编译:
Linux下安装postgresql-11.7并使用navicat进行远程连接_第2张图片

注意点:postgresql不能使用root超级用户进行启动,所以我们一开始就增加了一个postgres普通用户

1.1、创建data、log目录 && 配置环境变量

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.2、初始化数据库

1、进入到bin目录,使用如下命令进行初始化数据库:

[postgres@hadoop002 bin]$ ./initdb -D /home/postgres/postgres/data/ -U postgres --locale=en_US.UTF8 -E UTF8

Linux下安装postgresql-11.7并使用navicat进行远程连接_第3张图片
2、查看命令帮助来知晓上段命令的含义:

--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

二、使用Navicat for postgresql

2.1、配置启动数据库

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
指定日志输出的位置

2.2、postgresql配置开机自启动&&修改postgres数据库的密码

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

2.3、尝试使用navicat for postgresql进行连接数据库

出现如下就表示连接成功:
Linux下安装postgresql-11.7并使用navicat进行远程连接_第4张图片

你可能感兴趣的:(Postgresql数据库实战)