文档章节

如何设置PostgreSQL远程访问

妆台秋思
 妆台秋思
发布于 2017/08/14 14:29
字数 666
阅读 0
收藏 0

转载请注明来源:http://blog.csdn.net/caoshiying

PostgreSQL开启远程访问主要有两个配置环节,一个是允许远程主机登录,二是创建可远程访问的用户。大部分人因配置有问题而无法远程访问,而把postgres用户改为可远程访问的不可取的做法。这里说一下我的做法。

基本的PostgreSQL安装配置的文档请看文章:《CentOS 6.8操作系统安装PostGIS笔记》。下面首先说第一个配置环节。

1.1. 允许远程主机登录

打开postgresql的服务启动配置文件,一般情况下在这里:

/etc/postgresql/9.3/main/postgres.conf

找到listen_address 配置节,把 local 改成 * 。如果 listen_address 被注释掉了,那么就要取消注释。

打开postgresql的远程访问配置文件,一般情况下在这里:

/etc/postgresql/9.3/main/pg_hba.conf

注意PostgreSQL版本号。打开没有注释掉的代码

host    all    all    127.0.0.1/32    md5

把它改成:

host    all    all    0.0.0.0/0        md5

保存后运行命令:

service postgresql restart

使配置生效

1.2. 创建可远程访问的用户

再次提一下,把postgresql用户改为可远程访问的做法是不可取的。登录SSH登录到数据库所在主机

ssh admin@192.168.1.7

输入密码,登录后运行:

sudo su - postgres

再次输入密码后转到了postgres 用户,运行:

psql

进入了数据库环境,下面创建用户:

CREATE USER test CREATEDB;

注意分号。CREATEDB 是权限,还有其它权限,比如 SUPERUSER CREATEUSER 等。一般情况下 CREATEDB 是最安全的做法。因为这个 test 用户的权限被限制在很小范围。

修改用户密码

ALTER USER test PASSWORD 'test123';

然后退出PSQL ,退出 SUDO ,退出 SSH ,回到远程主机。

\q
exit
exit
exit

在远程主机运行:

psql -h 192.168.1.7 -U test -W

输入密码,进入了PSQL 。创建一个数据库试试看:

CREATE DATABASE test OWNDER test;

成功了。

1.3. PSQL常用命令

\du:列出当前所有的用户信息

\l: 列出当前所有的数据库信息

\q: 退出

\password username:修改指定的user的密码

\dn:查看shema

\i:命令从指定的文件中读取命令

1.4. 常见问题

1.4.1. psql: FATAL: Ident authentication failed for user "mypguser"

请编辑你的pg_hba.conf,这个文件一般位于/etc/postgresql/X.Y/main/pg_hba.confX.Y是你的PostgreSQL的版本号,将下面行的peer改为trust

local all all trust # replace ident or peer with trust

1.4.2. psql: FATAL: Peer authentication failed for user "mypguser"

请仍然修改pg_hba.conf文件,该下面行的peermd5

local all all md5 # replace peer with md5

完成上面的修改后请重新加载postgresql

/etc/init.d/postgresql reload


© 著作权归作者所有

妆台秋思
粉丝 0
博文 66
码字总数 67163
作品 0
深圳
Android工程师
私信 提问
Ubuntu下Postgresql-8.4安装及配置

第一步:在Ubuntu下安装Postgresql sudo apt-get install postgresql-8.4 postgresql-client-8.4 postgresql-contrib-8.4 以上指令安装服务端和命令行客户端psql。 /usr/lib/postgresql/8.4/......

红薯
2010/06/29
3.8K
2
如何在Debian 9上安装PostgreSQL

PostgreSQL,通常简称为Postgres,是一种开源的通用对象 - 关系数据库管理系统。 PostgreSQL具有许多高级功能,如在线备份,即时恢复,嵌套事务,SQL和JSON查询,多版本并发控制(MVCC),异...

dragon_tech
2018/11/24
61
0
PostgreSQL 远程链接 Sever端配置

PostgreSQL Sever需要配置才可被用户远程链接 配置文件: pghba.conf 控制访问安全,管理客户端访问PostgreSQL server的访问权限。 postgresql.conf 数据库参数文件,配置数据库相关参数。 ...

唐修
2018/12/10
0
0
ubuntu16.04下安装postgresql 10.3

在网上找了不少博客,结果还是一大坨的坑要我踩,踩完之后总结一下下吧!(适合初学者) 环境及资源 Linux版本:ubuntu16.04 PostgresSQL版本:postgresql-10.3 PostgreSQL官网下载地址:htt...

杨鹏飞乀
2018/12/17
354
0
PostgreSQL远程连接配置管理/账号密码分配(解决:致命错误: 用户 "postgres" Ident 认证失败)

问题:致命错误: 用户 "postgres" Ident 认证失败 说明:这个是由于没有配置远程访问且认证方式没改造成的,只需要更改使用账号密码认证即可。 解决:找到pghba.conf(find / -name pghba.co...

easonjim
2018/05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
628
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
32
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
19
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
56
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部