post修改服务器数据源,postgresql安装及配置超详细教程

1. 安装

根据业务需求选择版本,官网下载

初始化数据库

执行完初始化任务之后,postgresql 会自动创建和生成两个用户和一个数据库:

linux 系统用户 postgres:管理数据库的系统用户;

密码由于是默认生成的,需要在系统中修改一下,$passwd postgres

数据库用户 postgres:数据库超级管理员此

用户默认数据库为postgres

设置成 centos7 开机启动服务

启动 postgresql 服务

2. PostgrepSQL的简单配置

pgsql9.6配置文件位置默认在:/var/lib/pgsql/9.6/data/postgresql.conf

2.1 修改监听的ip和端口

监听IP使用localhost时,只能通过127.0.0.1访问数据库;

如果需要通过其他远程地址访问PostgreSQL,可以使用“,”作为分隔符,把IP地址添加到listen_addresses后,或者使用“*”,让所有IP都可以访问数据库。

注意:这里只是开启数据库的远程访问权限,具体是否能够进行远程登录,还需要依据pg_hba.conf的认证配置,详细内容见下节。

2.2 修改数据库log相关的参数

日志收集,一般是打开的

日志目录,一般使用默认值

只保留一天的日志,进行循环覆盖

2.3 内存参数

共享内存的大小,用于共享数据块。如果你的机器上有足够的内存,可以把这个参数改的大一些,这样数据库就可以缓存更多的数据块,当读取数据时,就可以从共享内存中读,而不需要再从文件上去读取。

单个SQL执行时,排序、hash json所用的内存,SQL运行完后,内存就释放了。

PostgreSQL安装完成后,可以主要修改以下两个主要内存参数:

shared_buffer:共享内存的大小,主要用于共享数据块,默认是128MB;

如果服务器内存有富余,可以把这个参数适当改大一些,这样数据库就可以缓存更多的数据块,当读取数据时,就可以从共享内存中读取,而不需要去文件读取。

work_mem:单个SQL执行时,排序、hash join所使用的内存,SQL运行完成后,内存就释放了,默认是4MB;

增加这个参数,可以提高排序操作的速度。

3. 数据库的基础操作

3.1 连接数据库控制台

如果想连接到数据库,需要切换到postgres用户下(默认的认证配置前提下)

在postgres用户下连接数据库,是不需要密码的。

切换 postgres 用户后,提示符变成 -bash-4.2$

使用psql连接到数据库控制台,此时系统提示符变为'postgres=#'

3.2 一些常用控制台命令

命令

作用

\h

查看所有sql命令,\h select 等可以查看具体命令

?

查看所有psql命令

\d

查看当前数据库所有表

\d

[tablename] 查看具体的表结构

\du

查看所有用户

\l

查看所有数据库

\e

打开文本编辑器

3.3 SQL控制台操作语句

数据库创建与修改

数据库用户创建与授权

4. 认证登录

认证权限配置文件: /var/lib/pgsql/9.6/data/pg_hba.conf

命令行的各个参数解释说明:

-U username 用户名,默认值postgres

-d dbname 要连接的数据库名,默认值postgres。如果单指定-U,没指定-d参数,则默认访问与用户名名称相同的数据库。

-h hostname 主机名,默认值localhost

-p port 端口号,默认值5432

4.1 认证方式

常见的四种身份验证方式

trust:凡是能连接到服务器的,都是可信任的。只需要提供数据库用户名,可以没有对应的操作系统同名用户;

password 和 md5:对于外部访问,需要提供 psql 用户名和密码。对于本地连接,提供 psql 用户名密码之外,还需要有操作系统访问权(用操作系统同名用户验证)。password 和 md5 的区别就是外部访问时传输的密码是否用 md5 加密;

ident:对于外部访问,从 ident 服务器获得客户端操作系统用户名,然后把操作系统作为数据库用户名进行登录;对于本地连接,实际上使用了peer;

peer:通过客户端操作系统内核来获取当前系统登录的用户名,并作为psql用户名进行登录。

4.2 远程登录

postgresql.conf

pg_hba.conf

所有的用户通过任意ip都可以通过md5(密码)的方式登陆PostgreSQL,配置如下:

验证

4.3 本地登录

PostgreSQL登陆默认是peer,不需要验证用户密码即可进入psql相关数据库,但前提是必须切换用户登陆。类似于最开始执行的su postgres;psql一样。

如果必须按照上述登陆方式登陆的话,有两种修改方式:

增添map映射

修改认证方式

a. map映射

map映射是用来将系统用户映射到对应的postgres数据库用户,用来限制指定的用户使用指定的账号来登陆。

pg_ident.conf

修改pg_ident.conf文件,与pg_hba.conf文件同级目录。其基本格式如下:

MAPNAME指的是映射的名称,比如map_zhangsan

SYSTEM-USERNAME就是系统用户的名称,比如root

PG-USERNAME就是数据库里存在的用户名称,比如zhangsan

上面定义的map意思是:定义了一个叫做map_zhangsan的映射,当客户端用户是root的时候,允许它用zhangsan用户来登陆PostgreSQL。

修改pg_hba.conf文件

在peer的认证方式后面添加:map=map_tom

1-2103151U211.png

重启PostgreSQL服务,再次尝试,连接成功。

1-2103151U212.png

b. 修改认证方式

需要修改一下pg_hba.cong文件,将local all all peer修改为local all all md5,如下图所示:

1-2103151U212-50.png

重启PostgreSQL服务,再次尝试,连接成功。

到此这篇关于postgresql安装及配置超详细教程的文章就介绍到这了,更多相关postgresql安装及配置内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/sunhongleibibi/p/11943393.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序分享到朋友圈_如何给小程序添加分享朋友圈

微信公众号更新以后,推送不是按照优先来的,你们可以把我的微信公众号点击设置为星标,以便于及时的接收信息.从微信小程序官方分享朋友圈有那么几天了,今天就分享下如何给自己的小程序添加分享朋友圈代码,几行代码的事。根据官方的提示需要基础…

JS代码大全

一、验证类 1、数字验证内 1.1 整数 /^(-|\)?\d$/.test(str) 1.2 大于0的整数 (用于传来的ID的验证) /^\d$/.test(str) 1.3 负整数的验证 /^-\d$/.test(str) 2、时间类 2.1 短时间,形如 (13:04:06) function isTime(str) …

eclipse中查看mysql_eclipse中怎样查看sqlite数据库的表

string createtable(classclazz , string tablename){//实例化一个容器,用来拼接sql语句stringbuffer sbuffer new stringbuffer();//sql语句,第一个字段为_id 主键自增,这是通用的,所以直接写死sbuffer.append("create tab…

敏捷开发之Scrum扫盲篇

现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中的各个环节&#x…

macos xampp mysql 命令_MAC系统XAMPP 中 MySQL命令行client配置使用

在PHP的学习过程中。MySQL预计是必定会接触的。MySQL的管理相信大家也会使用phpmyadmin:好吧。phpmyadmin的确是MySQL管理的神器,你想要的。他好多都有,在开发的过程中。对于后台数据库的设计架构帮助真的非常大。可是。在这篇文章的主角确不…

]Kinect for Windows SDK开发入门(六):骨骼追踪基础 上

原文来自:http://www.cnblogs.com/yangecnu/archive/2012/04/06/KinectSDK_Skeleton_Tracking_Part1.html Kinect产生的景深数据作用有限,要利用Kinect创建真正意义上交互,有趣和难忘的应用,还需要除了深度数据之外的其他数据。这…

Daily Scrum 10.29

时间越来越紧迫,不过大家逐渐进入了状态。虽然在有些问题上大家意见有些不同,但是最终还都是为着团队着想,很好地达成一致了。 MemberToday’s Task Tomorrow’s Task李孟 task615 测试(活动) task571 完成daily scrum 10.29撰文 task615 测试…

python中list index out of range_Python知识精解:str split()方法

描述split()函数是Python字符串函数。split() 通过指定分隔符对字符串进行切片。如果指定了整型参数num,则仅分隔num 1个子字符串(即分割num次)。使用split()函数将字符串分割后,返回的是一个列表,列表中存储着分割后…

ashx连接mysql_对C#中的web访问mysql数据库的一些知识点进行了整理归纳总结

基本对比使用方式使用场合优缺点是否需要安装需要的dll网址引用方式程序内引用程序初期确定使用MySql,前期添加引用大多数情况下使用在类文件内,多数使用于aspx,ashx等带有后置代码的类文件中可以安装,也可以直接引用dll 多数情况…

mysql -b -e_MySQL 的B+树索引.

一、B树索引概述索引是应用程序设计和开发的一个重要方面。若索引太多,应用程序的性能可能会受到影响(需维护索引的结构和数据);而索引太少,对查询性能又会产生影响。二叉树,左子树的键值总是小于根的键值,右子树的键值…

mysql卸载完环境变量还有_MySql完全卸载

这篇文章为转载本博客内容均摘自其他博客,由我整合并且将内容更改的更为详细,方便自己以后观看,也方便各位同学学习,少踩一些坑1.首先我们看一下如何卸载(1)停掉MySql在Windows的服务:开始—> 运行—> services.…

pycharm怎么编写python代码_如何设置PyCharm中的Python代码模版(推荐)

在MacOs运行的PyCharm中,执行python文件,如果不指定python文件字符编码会报错:SyntaxError: Non-ASCII character \xe6 in file /Users/yuchao/PycharmProjects/oldboy_python/python_lesson/模块与包/spam.py on line 6,but no encoding dec…

sigprocmask 阻塞进程

本系列文章由muge0913编写,转载请注明出处:http://blog.csdn.net/muge0913/article/details/7334771 1、有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处…

JavaScript中奇妙的replace

1、发现问题: 今天在读require.js源代码时,不经意读到这么一段代码: 1 //If no name, and callback is a function, then figure out if it a2 //CommonJS thing with dependencies.3 if (!deps && isFunction(callback)) {4 dep…

移除首页-重回首页

之前发布了一篇文章《订餐系统之获取淘宝外卖订单》,因为是关于淘宝外卖的,所以文中出现这个词时,都加了链接,还设置了 target_blank,就是为了让看的人方便点击,查看。后来,博客园说这个文章中含有推广链接…

Scrum之 回顾会议

Scrum中Sprint计划会议是最重要的事件,第二重要的事件就是回顾会议,因为这是团队做改进的最佳时机。如果没有回顾,就会发现团队在重犯相同的错误。在sprint的评审会议后,团队需要进行一次回顾会议,以下我将把会议主要内…

java的未检查异常有哪些_Java:检查异常与未检查异常

一、异常的介绍Throwable 是 Java 中所有错误和异常的超类。Java 虚拟机仅抛出属于此类(或其子类之一)的实例对象,或者是 throw 语句也可以抛出该对象。同样,catch 子句中的参数类型也只能是此类(或其子类之一)。处于编译时检查异常为目的,Th…

java array_Java 数组

Java 数组数组对于每一门编辑应语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如numbers[100]来代替直接声明100个独立变量number0&#xff…

idea 执行 java jar_idea打包java可执行jar包的实现步骤

1,在项目上鼠标右键 --> Open Module Settings2, Artifacts --> --> JAR --> From modules with dependencies...3, Main Class是你这个项目(脚本)的主方法,就是要运行的类,选一个4,如下图,设置 META-INF/MANIFEST.MF!!!!!切记,不能用默认的(起码我用默认的是不成…

约法三章

与自己约法三章如下: 1. 禁止发表悲观的言论,你是阳光的。哪怕翅羽沉重,依旧头颅高昂。 2. 专注,专注才能让你更有魅力。最近老不能集中注意力。 3. 做好自己。不管怎么样,你都有人在你背后关怀你支持着你&a…