当前位置: 首页 > news >正文

PostgreSQL实战(1)允许远程连接

1、允许远程访问数据库

 在默认情况下, Pos tgreSQL 实例是不允许通过远程访问数据库的,如下所示:

[postgres@pghostl ~]♀ netstat -nlt I grep 1921 
Active Internet connections (onl y servers) 
Proto Recv Q Send Q Local Address Foreign Address 
tcp 0 0 127 . 0 . 0.1:1921 0 . 0 . 0 . 0 : * 
tcp 0 0 : :1:1921 …* 

从其他 机访问数据库端口,将会被拒绝,如下所示
 

[postgres@pghost2 ~]$ telnet pghostl 1921 
Trying pghostl ... 
telnet : connect to address pghostl: Connection refused 

想要外网访问需要修改两个配置文件,一个配置文件是postgresql.conf

PostgreSQL 管理监昕地址的配置项为 postgresql.conf 文件中的 listen_addresses 默认安装只监昕本地环回地址 localhost 连接不允许使用 TCP/IP 建立远程连接,启用远程连接需要修改 postgresql.conf 中的 listen_addresses 参数。用文本编辑器打开 postgresql.conf配置文件,命令如下所示:

[postgres@pghostl ~] $ vim / pgdata/10 / data / postgresql . conf 
找到名称为 listen addresses 的配置项,如下所示:
#listen addresses ocalhost what IP address (es) to l 工 sten on; 
# comma -separated list of addresses; 
# defaults to ’ localhost ’ J use for all 
# (change requires restart) 

关于 listen addresses 参数的 行注释,的含义如下:
 what IP address(es) to listen on一一监昕什么 IP 地址?也就是允许用哪些 IP 地址访
问,可以是一个IP,也可以是多个 IP 地址


comma-separated list of addresses ;一一以逗号分隔地址列表


 defaults to ’localhost'; use for all-一默认是“ localhost ”,使用“*”允许所有地址;大多数的高可用架构都使用 VIP 的方式访问数据库,所以我 一般设置为“*”


(change requires restart)一一修改这个参数需要重新启动数据库


去掉 listen addresses 这一行开头的“ 号, 把它的值修改为“*”,即允许所有地
址访问数据库,如下所示:

listen addresses =’*’ 

第二个文件是pg_hba.conf 文件

修改监听地址之后,还需要修改 pg_hba conf 文件,回答 pg_h ba .conf 的问题:允许哪些主机可以通过 么连接方式和认证方式通过哪个数据库用户连接哪个数据库?假设我允许所有主机通过 TCP/IP 建立的连接,同时匹配 SSL 和非 SSL 连接,通过 d5 口令认证,使用 pguser 用户 ,连接 mydb 数据库,那么我们只需要在 pg hba.conf 文件中增加一行,如下所示:

host rnydb pguser 0.0.0.0/0 md5

也可以把所有的开放,如下:

host all all  0.0.0.0/0 md5 

修改完两个文件之后,在重启一下服务就可以了:

[root@pghostl ~]$ service postgresql- 10 restart 

 

相关文章:

  • Phoenix官方教程 (五) 控制器
  • PostgreSQL实战(12)高级特性
  • base64图上上传保存到服务器
  • ajax报错302重定向错误
  • ArcGIS Engine开发之旅03--ArcGIS Engine中的控件
  • kafka消费过程中失败,kafka重试补偿
  • 从0到1搭建属于自己的服务器
  • PostgreSQL实战(2)数据结构
  • 金蝶kis记账王初始化过程中如何设置科目
  • SpringBoot项目的jar包在启动时选择的多环境配置以及加载顺序
  • PostgreSQL中date数据类型
  • springmvc带参数链接跳转,实现单一样式容器
  • Spring Boot 打包分为 war 格式,放到Tomcat下报错的解决方案
  • 窗体的事件
  • PostgreSQL序列的创建和使用
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • JS函数式编程 数组部分风格 ES6版
  • Js基础知识(一) - 变量
  • VuePress 静态网站生成
  • 基于 Babel 的 npm 包最小化设置
  • 码农张的Bug人生 - 初来乍到
  • 前端之React实战:创建跨平台的项目架构
  • 深度解析利用ES6进行Promise封装总结
  • 思否第一天
  • 想使用 MongoDB ,你应该了解这8个方面!
  • PostgreSQL之连接数修改
  • Spring Batch JSON 支持
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • !!Dom4j 学习笔记
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (TOJ2804)Even? Odd?
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (篇九)MySQL常用内置函数
  • (强烈推荐)移动端音视频从零到上手(下)
  • (推荐)叮当——中文语音对话机器人
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .a文件和.so文件
  • .NET BackgroundWorker
  • .NET Remoting学习笔记(三)信道
  • .Net Web项目创建比较不错的参考文章
  • .NET 中创建支持集合初始化器的类型
  • ??在JSP中,java和JavaScript如何交互?
  • @AutoConfigurationPackage的使用
  • @EventListener注解使用说明
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • [2669]2-2 Time类的定义
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [C#C++]类CLASS
  • [C#基础]说说lock到底锁谁?
  • [C++]四种方式求解最大子序列求和问题