如何设置PostgreSQL远程访问
来源:互联网 发布:淘宝联盟好用吗 编辑:程序博客网 时间:2024/06/13 06:32
转载请注明来源: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,回到远程主机。
\qexitexitexit
在远程主机运行:
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.conf,X.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文件,该下面行的peer为md5:
local all all md5 # replace peer with md5
完成上面的修改后请重新加载postgresql:
/etc/init.d/postgresql reload
1 0
- 如何设置PostgreSQL远程访问
- PostgreSQL允许远程访问设置方法
- PostgreSQL 允许远程访问设置方法
- PostgreSQL允许远程访问设置方法
- PostgreSQL 允许远程访问设置方法
- PostgreSQL 允许远程访问设置方法
- PostgreSQL 允许远程访问设置方法
- PostgreSQL允许远程访问设置方法
- PostgreSQL 允许远程访问设置方法
- 如何设置mysql远程访问
- 如何设置mysql远程访问
- 如何设置mysql远程访问
- 如何设置mysql远程访问
- 如何设置mysql远程访问
- 如何设置mysql远程访问
- 配置POSTGRESQL远程访问
- 配置 Postgresql 远程访问
- Postgresql允许远程访问
- 用VBA完成报表制作
- SVN客户端TortoiseSVN一次Add一个包含的多个文件夹和多个文件的文件夹添加不上的解决办法
- 安卓 重复创建界面
- 如何知道一个App的包名呢
- HTMLayout:制作无边框带阴影的窗口
- 如何设置PostgreSQL远程访问
- idea maven工程打可运行jar包方式
- MySQL Cluster 7.3.7+CentOS7集群配置入门 MySQL双管理节点配置入门
- 第十三周 项目一(4)
- Cpp Concurrency In Action(读书笔记9)——多线程程序的测试和调试
- 架构设计:系统存储(14)——MySQL横向拆分与业务透明化(2)
- Weblogic-学习笔记(1-2课)
- eclipse管理多个workspace
- 在WIFI下获取手机的IP地址