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

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

b. 修改认证方式

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

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

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

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

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

  1. 2021最新版Python环境安装变量配置超详细教程,看了就会

    Python都更新到3.10最新版本了,赶快下载更新,新功能很香.本文图文并茂教你安装和变量配置,我保证你看了就会,小白赶快学起来.先了解下新功能有哪些. 目录 一.Python 3.10 相比 3. ...

  2. mysql8.0安装及配置超详细教程_系统城教你mysql8.0安装与配置教程

    一.下载mysql 安装mysql有两种方式,一种是下载安装包安装,另一种是下载压缩包解压配置,这里使用安装包方式. 进去后点击下面的Download 点击No thinks进入下载 二.安装mysq ...

  3. MySQL免安装版配置部署详细教程

    MySQL免安装版配置部署详细教程 这里写目录标题 MySQL免安装版配置部署详细教程 部署MySQL免安装版(windows版) 1.windows的mysql配置文件是my.ini,将此文件放到m ...

  4. MySQL8.0.22安装及配置(超详细)

    MySQL8.0.22安装及配置(超详细) 大家好,今天我们来学习一下 MySQL8.0.22安装及配置,好好看,好好学,超详细的 第一步 进入MySQL官网下载,如下图所示: 第二步 进入下载完成后 ...

  5. maven安装及配置(超详细)

    maven安装及配置(超详细) 大家好,今天我们来学习一下maven安装及配置,好好看,好好学,超详细的 第一步 进入maven官网下载,如下图所示: 第二步 下载好压缩包或解压到除了c盘任意一个盘, ...

  6. 下载安装power BI超详细教程

    下载安装power BI超详细教程 Power-BI是什么? Power-BI目前分为两个产品体系: (1)Power-BI标准解决方案 For金蝶(EAS.K3.KIS专业版)/ 用友(NC.U9. ...

  7. mac nginx 非brew安装_Nginx服务器环境手动安装Discuz! Q非详细教程

    Discuz! Q Discuz! Q是原腾讯旗下Discuz团队新开源的社区程序,不过定位当然和以前不一样. 前段时间就知道Discuz! Q内测这事,不过一直没兴趣,昨天看见腾讯云这边有个Disc ...

  8. nginx 强制跳转https_Nginx服务器环境手动安装Discuz! Q非详细教程

    Discuz! Q Discuz! Q是原腾讯旗下Discuz团队新开源的社区程序,不过定位当然和以前不一样. 前段时间就知道Discuz! Q内测这事,不过一直没兴趣,昨天看见腾讯云这边有个Disc ...

  9. Linux:安装和配置tomcat详细教程

    安装Tomcat tomcat是一款java 语言servlet规范的服务器软件,如下的经验讲述如何使用linux环境下 tomcat的安装和配置. 工具/原料 Linux:Centos7 tomca ...

最新文章

  1. JAVA线程池管理及分布式HADOOP调度框架搭建
  2. java定义一个学生类cstudent_编写一个JAVA程序片断 定义一个表示学生的类student
  3. TPFanControl v0.62 + 汉化补丁
  4. python xml etree_python解析xml文件之xml.etree.cElementTree和xml.etree.ElementTree区别和基本使用...
  5. 产品观念:更好的捕鼠器_故事很重要:为什么您需要成为更好的讲故事的人
  6. LindAgile~缓存拦截器支持类的虚方法了
  7. js学习(六)- js对象创建
  8. 10月| R社区原创作者免费赠书
  9. html5开发播放器,larkplayer: 插件化的 HTML5 播放器
  10. [Luogu 1160] 队列安排
  11. 猿人学web端爬虫攻防大赛赛题解析_第七题:动态字体,随风漂移
  12. Outlook-VBA-05-自动获取邮件附件
  13. MBA回乡卖家电,谁给了他年销600万的底气?
  14. zabbix之 zabbix server 跟 agent 更换ip地址
  15. 美图手机sim卡显示无服务器,美图手机卡顿怎么解决
  16. 什么是数据库?数据库的作用想学数据库必看 (1)
  17. 友点 CMS V9.1 后台登录绕过 GetShell
  18. 宝塔上线flask,遇见502错误
  19. Win10我的电脑图标怎么调出来?1分钟解决!
  20. 一个金蝶网址的网络爬虫

热门文章

  1. leetcode 141 环形链表 C++
  2. 步进电机编写单4拍或4-8拍方式的汇编或c语言控制程序.,基于SCM和PLC的两种步进电机控制方法...
  3. 【OS学习笔记】三十三 保护模式九:分页机制对应的汇编代码之---用户程序代码
  4. python第三方库-基础
  5. Linux课堂笔记-第二天
  6. 《DSP using MATLAB 》示例Example6.3
  7. erlang OTP中的四大behaviour fsm的例子
  8. 人物角色群体攻击判定(一)
  9. 使用 Visual Studio 2005 Team System 进行单元测试并生成用于 Unit Test Framework 的源代码...
  10. Breadth-first Search(广度优先搜索)专题2