#PGSQL总目录:/home/postgres
#PGSQL数据库存放位置:/home/postgres/pgsql_data
#PGSQL软件安装位置:/home/postgres/pgsql
#PGSQL软件版本:postgresql-10.12-1-linux-x64-binaries.tar.gz
1、第一步:将PGSQL软件版本解压PGSQL总目录:
#cd /home
#mkdir postgres
#cd /home/postgres
#tar -zxvf postgresql-10.12-1-linux-x64-binaries.tar.gz
第二步:在操作系统中添加用户
#useradd postgres
#passwd postgres
第三步:创建postgres的数据存放目录,给postgres用户授权目录访问权限
#mkdir /home/postgres/pgsql_data
#chown postgres:postgres /home/postgres/pgsql_data
#chown postgres:postgres /home/postgres/pgsql
第四步:初始化数据库
4.1 把postgres的bin目录加入bash_profile中
#cd /home/postgre/
#vim .bash_profile
加入:(注意:要开启pg_ctl这条命令,就是在此处设置)
export PGDATA=/home/postgres/pgsql_data/
export PATH=/home/postgres/pgsql/bin:$PATH
4.2 初始化数据库
进入postgres用户下操作
#/home/postgres/pgsql/bin/initdb -D /home/postgres/pgsql_data
4.3 启动数据库
#/home/postgres/pgsql/bin/pg_ctl -D /home/postgres/pgsql_data / start
第五步:登陆psql修改postgres数据库用户密码
#su - postgres
#alter user postgres with password ‘postgres’; //密码已经是postgres了,而且alter命令找不到
第六步:开启远程登录
root下修改
修改/home/postgres/pgsql_data目录下的pg_hba.conf 和 postgresql.conf
#vim pg_hba.conf
在pg_hba.con增加一条规则 比如让192.168.1.0 网段访问
32 -> 192.168.1.1/32 表示必须是来自这个IP地址的访问才合法;
24 -> 192.168.1.0/24 表示只要来自192.168.1.0 ~ 192.168.1.255的都合法;
16 -> 192.168.0.0/16 表示只要来自192.168.0.0 ~ 192.168.255.255的都合法;
8 -> 192.0.0.0/16 表示只要来自192.0.0.0 ~ 192.255.255.255的都合法;
0 -> 0.0.0.0/0 表示全部IP地址都合法,合法的IP地址即可
在postgresql.conf中把监听地址改为* 代表全部地址
#vim postgresql.conf
记得将listen_addresses前面的#去掉
然后pg_ctl restart 重启数据库
使用pg_ctl之前先切换到postgres文件夹,也就是/home/postgres下面,source .bash_profile配置一下环境,之后在该目录下启动。
问题解决:
如果 切换su - postgres用户时出现#patch-2.4:这样的提示时,则需将/etc/skel下的.bash_profile、.bash_rc、.bash_logout这三份文件移入到/home/postgres/主目录下,
#cd /etc/skel
#cp /etc/skel/.bash_logout /home/postgres
#cp /etc/skel/.bash_profile /home/postgres
#cp /etc/skel/.bashrc /home/postgres
然后再su – posgtgres进行查看
如果远程无法连接到该服务器,可以查看下防火墙设置,如果是密码错误但是忘记密码了,可以将pg_hba.conf中的md5改成trust,这样就可以无密码登录。连接该数据库的工具可以用pgAdmin。