Postgresql 安装与连接 笔记

需求

在远程主机(ubuntu 18.04)上安装postgres(当前稳定版为12),然后用Datagrip在本地端连接。

安装PG

ubuntu上执行apt 安装pg,命令如下:

# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# Update the package lists:
sudo apt-get update

# Install the latest version of PostgreSQL.
# If you want a specific version, use 'postgresql-12' or similar instead of 'postgresql':
sudo apt-get install postgresql

安装完成后,用psql试图以postgres的身份登录,发现登录不了。错误信息大意为:

 Peer authentication failed for user "postgres"

原因为当前os安装用户名并非postgres。解决办法:找到配置文件/etc/postgresql/12/main/pg_hba.conf

将其中的 

local   all             postgres                                peer

修改为

local   all             postgres                                md5

保存配置文件的修改。然后重启pg服务:

/etc/init.d/postgresql restart

或者  sudo service postgresql restart

然后便可在远程主机用psql登录pg。

用Datagrip连接

本地端(Windows)安装Datagrip略过不表。安装后打开Datagrip,填好相关连接信息后,Test Connection 发现结果失败,连接不了。

解决思路和办法:

1,远程主机为云主机,默认的防火墙设置是没有放行5432端口的。需要登录控制台,修改防火墙设置(并非os的防火墙,而是云主机服务商的防火墙。)

如果需求为用程序直接连接,应该修改防火墙设置;且修改远程主机中/etc/postgresql/12/main/pg_hba.conf,以便允许客户端连接。考虑到当下主要是用DG连接,暂时并没有程序直接连接的需求。故采用下一种方法。

2,打开Data Source的设置,切换到SSH/SSL画面(如下图)。选择Key Pair 的方式,配置相关信息后,Test Connection成功。

注意:

1,General选项卡中,此时Host应填写localhost(如下图)。

2,如果还未和远程主机设置免密码登录,可使用ssh-keygen和ssh-copy-id命令。

 

参考链接:

https://www.postgresql.org/download/linux/ubuntu/

http://www.voidcn.com/article/p-gniwgbkg-bty.html

https://www.cnblogs.com/102442/p/9923417.html

https://blog.csdn.net/YTREE_BJ/article/details/103760271

https://jingyan.baidu.com/article/b87fe19e273e44521835681a.html

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页