移形后linux下的postgre安装使用说明
1. 安装环境
系统:Red Hat Enterprise Linux 8.0 64bit 数据库:postgresql-11.7
注意:确认linux系统可以正常连接网络,因为在后面需要添加依赖包。
2. pg数据库下载地址
http://www.postgresql.org/ftp/source/
3、安装依赖包
postgresql-11.7.tar.gz
4. 安装postgres
1)在根目录下新建pgsql文件夹,并将pgsql的压缩包移入。
[root@localhost /]# mkdir postgre
2)进入postgre目录,解压压缩包当前文件夹下,暂不用指定目录
[root@localhost pgsql]# tar -zxvf postgresql-11.7.tar.gz
3)进入解压后的文件夹
[root@localhost pgsql]#cd postgresql-11.7
[root@localhost postgresql-11.7]# ls
4)编译postgresql源码
指定编译路径为:/postgre/psql
[root@localhost postgresql-11.7]# ./configure --prefix=/postgre/psql
注:–prefix=prefix,此路径为绝对路径 安装到prefix指向的目录:默认为/usr/local/pgsql
[postgres@localhost psql]$ make && make install
注:如果编译出现以下情况,可以同通过 yum install 软件名称 方式来更新下载依赖包
至此,已完成postgreql的安装。进入/postgre/psql目录可以看到安装后的postgresql的文件。
[postgres@localhost psql]$ ls
5). 创建用户组postgres并创建用户postgres
[root@localhost postgresql-11.7]# groupadd postgres
[root@localhost postgresql-11.7]# useradd -g postgres postgres
6). 创建postgresql数据库的数据主目录并修改文件所有者
这个数据库主目录是随实际情况而不同,这里我们的主目录是在/postgre/psql_data目录下:
[root@localhost postgre]# cd /postgre
[root@localhost postgre]# mkdir psql_data
命令说明:在/postgre目录下创建psql_data文件目录;
[root@localhost postgre]# chown postgres:postgres /postgre/psql_data
命令说明:把/postgre/psql_data目录权限分配给postgre组下的postgre用户;
[root@localhost postgre]# ls -al 命令说明:查看/postgre目录下的文件信息;
7). 切换用户到postgres并使用initdb初使用化数据库
进入/postgre/psql/bin目录可以看到initdb
" [root@localhost psql_data]# cd /postgre/psql/bin
"
[root@localhost bin]# ls -al
[postgres@localhost bin]$ ./initdb
至此,数据库已经初始化成功
8).启动数据库,—D 后边参数为数据指定路径,上边“6)”项已经说明该目录,如果配置环境变量,
则不需要指定该参数
[postgres@localhost bin]$ ./pg_ctl -D /postgre/psql_data -l logfile start
可以看到 /postgre/psql_data已经有文件了。
9).配置服务
修改/postgre/psql_data目录下的两个文件。
说明: postgresql.conf 配置PostgreSQL数据库服务器的相应的参数。
pg_hba.conf 配置对数据库的访问权限。
9.1)[postgres@localhost psql_data]$ vi postgresql.conf
" #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”表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。
"
9.2)[postgres@localhost psql_data]$ vi pg_hba.conf
找到下面这一行 ,这样局域网的人才能访问。红色为新添加内容。
# IPv4 local connections:
host all all 0.0.0.0/0 trust
host all all 127.0.0.1/32 trust
5.创建数据库与用户
1) 进入到编译文件的安装目录:/postgre/psql/bin
[postgres@localhost psql_data]$ cd /postgre/psql/bin
2) 执行文件夹下的psql,进入数据库命令行模式
[postgres@localhost bin]$ psql
3) 创建用户:create user root with password 'XXXX';
需要注意:1. 要以英文分号结尾
2.密码需要引号包裹
4) 创建数据库:create database dbtest owner root; 说明: 创建数据库指定所属者
5)将数据库得权限,全部赋给某个用户
6.数据库的导入导出
psql -U root database < /data/dum.sql 说明: 用户名和数据库名
7.环境变量配置(针对某个用户:例如postgres用户,尽量不要在root下配置全局变量)
修改.bash_profile,如果不想重启,立即生效则执行: source 文件名。
进入postgres用户下的home/postgres路径可以看到
[postgres@localhost ~]$ vi .bash_profile
添加以下内容,编辑后保存,退出vi。执行以下命令(source .bash_profile),使环境变量生效
export PGHOME=/postgre 说明:postgre的安装、编译、数据的根目录
export PGDATA=/postgre/psql_data 说明:postgre的数据放置目录上述有说明路径
PATH=$PATH:$HOME/bin:$PGHOME/psql/bin 说明:$PGHOME/psq/bin为编译路径