PostgreSQL RDBMS connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432“?初次进入和修改配置些坑

进入postgres

要有root 权限可以直接进入

 sudo  su - postgres

进入该用户后,显示

再输入psql

psql

就可以进行用户添加删除 和改密码啦!

用户添加:root 密码为 'xxx' 自行修改

CREATE ROLE root superuser PASSWORD 'xxx' login;

CREATE ROLE root superuser PASSWORD 'password' login;

这个是添加的数据库用户,并给与权限,和linux用户名相同就行,下次就可以登陆了。

查看已有用户

SELECT rolname,rolpassword FROM pg_authid;

修改密码:

 ALTER postgres WITH PASSWORD 'xxxx'

以后不用sudo或者root权限就可登录 su postgres

不用密码访问:

如下,

进入 su -U postgres psql

show hba_file

\q

退出,

然后vim  /etc/postgresql/12/main/pg_hba.conf

i

自行修改

local是本地访问 all 数据库,xxx是用户名,trust就不用密码,改为md5就需要密码;

host网络访问,all 数据库,all 所有用户,xx.xx.xx.xx/xx域名/主机号, md5密码访问;

如果不知道加需要访问该数据库的主机域名和地址,在其主机上查看输入:ip addr 或者 nmctl

local         all  xxx  trust
host          all  all  xx.xx.xx.xx/xx md5

这个是文件默认设置

show hba_file; 是配置访问权限路径

show config_path; 配置路径文件

大坑在这里 不要随便改,data_directory

data_directory 不要在config文件里面修改,当开了监听,可能会直接导致无法正常使用psql命令,在这里被坑了一个多小时。如果改了,发生报错如下

执行以下命令

新建一个空文件夹

mkdir /home/XXX

给与postgres权限

sudo chown -R postgres:postgres /home/XXX 

进入su postgres

输入 /usr/lib/postgresql/12/bin/initdb -D /home/XXX

以下是安装时执行的代码

 /usr/lib/postgresql/12/bin/initdb -D /var/lib/postgresql/12/main

/usr/lib/postgresql/12/bin/pg_ctl -D /home/psql start

这个过程是再重新定向你的data_directory,并将psql在这里初始化,再重启就好了。

查看文件位置

sudo -u postgres psql -c"show data_directory;" 

下次再改config 需要data_directory 和这次修改文件一致,不然一restart 就又要重新执行以上步骤。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值