在配置ubuntu16.4服务器上的postgresql数据库时遇到了很多问题,网上查了很多资料,都没有太深的理解。于是我先查看了官方文档,先搞清楚这些配置是做什么的,再根据需要配置自己的服务器,这样就可以清楚的知道自己在做什么了,下面讲讲这些配置是怎样的。
这两个都一样随便打开一个可以看到如下界面(说明我们的H2数据库正常启动了)
1、环境准备:Centos 7 minimal x64 yum install net-tools vim a.setsebool -P httpd_can_network_connect 1 b.setenforce 0 (临时性) c.修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=disabled 重启机器即可 其中a,b,c是关闭SElinux的,如果不关闭,就会出现Wiki怎么也连不上数据库的。 2、安装apache环境: yum
最近在和研发同学聊天的时候发现他们有一套数据库开发环境,严格的说这是一套混合环境,算是开发和测试环境的合体。其中负责管理这套环境的研发同学已经受不了了,不禁发出了感叹:什么事情都找我,我又不是DBA.
1. 两台数据库服务器,IP分别为 192.168.216.128 和 192.168.216.129,在服务器上装MySQL(我的配置版本为5.7.24)
由于包含着有价值的数据,PostgreSQL数据库应当被定期地备份。虽然过程相当简单,但清晰地理解其底层技术和假设是非常重要的。 有三种不同的基本方法来备份PostgreSQL数据:
说起堡垒机这种事物的时候,网络运维人员都会感到熟悉,它的应用领域很广,堡垒机在电力、银行以及证券等领域,都发挥着不可忽视的作用,堡垒机能够有效保障网络和数据的安全,堡垒机远程连接原理是什么?xftp连不上堡垒机下的服务器如何解决?堡垒机的功能有哪些?
从删库到跑路已经从一个笑话变成了一个经常发生的事情。大家从学习linux开始就会享受其开放的权限,也会时时刻刻被提醒注意不要干傻事,然后现在就。。。
将数据从一个服务器复制到另一个服务器的过程就是PG复制。源数据库服务器通常称为Master,而接收复制数据的数据库服务器称为Replica服务器。
堡垒机当中有一项非常重要的功能,叫做远程连接,对于许多不熟悉堡垒机的朋友,可能都不知道远程连接应该如何使用,或者说经常会出现远程连接连不上的问题,那么堡垒机一般是通过什么远程连接的针对这样的问题,我们应该怎么解决呢?
PostgreSQL的统计收集器是一个支持收集和报告服务器活动信息的子系统。 目前,这个收集器可以对表和索引的访问计数,计数可以按磁盘块和个体行来进行。它还跟踪每个表中的总行数、每个表的清理和分析动作的信息。它也统计调用用户定义函数的次数以及在每次调用中花费的总时间。
PostgreSql 数据库安装完成后,再需要做一些配置,才可以正常访问。一般需要修改 postgresql.conf,pg_hba.conf 配置文件,有其他特殊需求的,可能还需要修改 pg_ident.conf 配置文件。
在正式介绍 PostgreSQL 主从同步复制 之前,我们先了解一下 PostgreSQL 的预写日志机制(WAL)。
当前PostgreSQL版本号由主要版本号和次要版本号组成。 例如,在版本号10.1中,10是主要版本号,1是次要版本号,这意味着这将是主版本10的第一个次要版本。 对于PostgreSQL版本10.0之前的版本,版本号由三个数字组成,例如9.5.3。 在这些情况下,主要版本由版本号的前两个数字组(例如9.5)组成,次要版本是第三个数字, 例如3,这意味着这将是主要版本9.5的第三次要版本。
mysq迁移.png 刚接触Django的时候,测试数据存到了mysql,在数据库往线上环境迁移的时候遇到了问题,因为图形化界面Navicat连不上远程的默认权限的数据库,后来把登录权限调的很高才勉强连上... ---- 后来随着学习的深入,接触了linux的scp命令(scp无法在windows使用),加上mysql自带的mysqldump,能很快的完成数据库的迁移 将本地的数据库(fangyuanxiaozhan)导出为sql文件(fangyuanxiaozhan.sql) mysqldump
PostgreSQL数据库的进程可以分为三类:后台进程、后端进程或叫服务器进程、客户端进程或用户进程。
PostgreSql 备份的软件(免费)的有不少,pgrman(之前有一篇写过), Barman (功能很强大,配置很复杂)。最近大佬微信公众号发布 pg_probackup 功能和ORACLE rman 相差无几。
PG_REWIND 是PG 9.6 开始提供的功能,主要的作用在于通过PG_REWIND 让PG 复制中的数据库快速的与预定的“主库”进行数据同步,而复制的方式是是文件块的方式,并且可以避过重复的数据块。所以复制的速度是快的,在不少的高可用方式中都被作为主库失败后的快速的将主库加入原有集群并作为从库继续工作的方案。
: 点击蓝字关注我们//一.PostgreSQL源码包安装及开启归档// 1.下载源码包 https://www.postgresql.org/ftp/source/v12.7/ 2.安装必要的包 yum -y install readline readline-devel zlib zlib-devel gettext gettext-devel openssl openssl-devel pam pam-devel libxml2 libxml2-devel libxslt libxslt-deve
本文主要介绍pg_dump、pg_dumpall、copy、pg_basebackup的使用。
与MYSQL 不一样,开源XTRABACKUP 的备份软件无法跟上MYSQL 版本的更迭,PG 这点做的是一贯的好。从来没有让人失望过。
首先要说的是,这个“数”友的问题是,他们公司使用的是SQL SERVER 由于各种不满(此处省略N多文字),然后他们要换数据库,如果换成PG会如何,他们在从库会有很多的复杂查询的问题。所以才有了这篇文字。
在数据库集群中,有3个配置文件,分别是:postgresql.conf,pg_hba.conf和pg_ident.conf。其中postgresql.conf为服务器主要的配置文件,pg_hba.conf是客户端认证配置文件,pg_ident.conf用来配置哪些操作系统用户可以映射为数据库用户。
navicat是图形化操作MySQL的强大工具,但是当数据库的服务器没有开放3306的端口给办公网络时,在办公网使用navicat直接连接数据库是连不上的。如果要操作、查看数据库,只能先ssh登陆到数据库服务器,然后命令行操作数据库,非常不友好,会有一些行过长、乱码等问题。这里有一个解决办法,服务器一般都会开通ssh端口给办公网,navicat可以通过配置ssh通道,达到连接数据库的目的。本质也是通过SSH跳转,但使用起来和直接连接数据库是一样的。配置如下
PostgreSQL使用shared_buffers来缓存内存中的块。其思想是减少磁盘I/O并以最有效的方式加速数据库。在正常操作期间,数据库缓存将非常有用,并确保良好的响应时间。但是,如果由于某种原
PostgreSQL官方文档中讲到了多种高可用、负载均衡和复制特性解决方案,如下图所示:
HBA 的意思是 host-based authentication:基于主机的认证。在initdb初始化数据目录的时候,它会安装一个缺省的文件。
### 六 psql工具使用及数据库常用维护管理 #### 一 psql工具的使用 ##### 1 用psql连接数据库 ~~~bash [postgres@Centos ~]$ psql -h localhost -p 5432 -d postgres -U postgres psql (13.2) Type "help" for help. postgres=# ~~~ 其中, - psql是PostgreSQL软件安装家目录下的bin路径下的可执行程序; - -h选项表示hos
当一个客户端应用连接一个数据库服务器时,它将指定以哪个PostgreSQL 数据库用户名连接,就像我们以一个特定用户登录一台 Unix 计算机一样。在 SQL 环境中,活动的数据库用户名决定对数据库对象的访问权限 — 详见Chapter 21。因此,它本质上是哪些数据库用户可以连接。
每次手动备份太麻烦了,工作上需要,决定使用自动备份,所以写个博客来记录一次,本次备份功能是无密码通过批处理来执行定时备份的,如果是windows server r2服务器的话大家可以搭配任务计划程序来做定时执行,如果是linux内核的系统可以用crontab插件,crontab 插件大家可以自行百度,从而形成定时备份数据。
另外一种备份策略是直接复制PostgreSQL用于存储数据库中数据的文件,Section 18.2解释了这些文件的位置。你可以采用任何你喜欢的方式进行文件系统备份,例如:
这条消息最可能出现的情况是你成功地联系了服务器,但它不愿意和你说话。就像消息本身所建议的,服务器拒绝了连接请求,因为它没有在其pg_hba.conf配置文件里找到匹配项。
在PostgreSQL中的访问和权限,在学习的初期是很容易搞不清楚的,而由于这方面的事情也浪费很不少的时间,所以本期捋一捋,这方面的问题和知识。
上一篇文章说道PostgreSQL 12 的源码部署,这里我们说一下PostgreSQl 12的主从流复制和归档配置。
PostgreSQL提供了一组默认角色,它们提供对特定的、通常需要的、需要特权的功能和信息的访问。管理员可以把这些角色GRANT给其环境中的用户或者其他角色,让这些用户能够访问指定的功能和信息。
Cloudera Manager提供了一个嵌入式PostgreSQL数据库服务,用于在创建集群时进行演示和概念验证部署。为了提醒用户此嵌入式数据库不适合生产,Cloudera Manager将显示横幅文本:“您正在非生产模式下运行Cloudera Manager,该模式使用嵌入式PostgreSQL数据库。切换到使用支持的外部数据库,然后再投入生产“。
主主复制的原理实际上是主从复制的原理,让两台服务器互为主从,就实现了主主复制。以下介绍主从复制原理:
PostgreSQL 使用repmgr 进行主从数据的Clone是可以进行级联复制的,使用过MYSQL的同学可能会觉得,没有什么了不起,MYSQL 多少级的级联复制都可以。但PostgreSQL 的级联数据复制有些不同 1 PostgreSQL 中的复制是stream replication 而不是类似MYSQL 的逻辑复制。2 这里的复制不是指的和 mysql 一样的 从库套从库的复制,而是从PG的从库进行数据的CLONE 制作新的从节点,然后在将从节点连接到主库,这点也和MYSQL不一样。
信任认证 trust 这个方法允许任何可以与OushuDB 数据库服务器连接的用户以他们期望的任意OushuDB 数据库用户身 份进行连接,而不需要口令或任何其他认证。 trust认证对于单用户工作站的本地连接是非常合适和方便的,它只适合 TCP/IP 连接,只有在你信任那 些trust 行上所有机器中的所有用户的时候才适合,一般很少使用trust作为任何除来自localhost (127.0.0.1) 以外的 TCP/IP 连接的认证方式,建议不要在生产环境中使用。 ident认证 ident 认证方法是通过从一个ident服务器获取客户端的操作系统用户名,然后列出允许的相对应名称的 映射文件确定允许的数据库用户名。这个用户映射文件为pg_ident.conf,记录着与操作系统用户匹配的 数据库用户,如果某操作系统用户在本文件中没有映射用户,则默认的映射数据库用户与操作系统用户 同名。比如,服务器上有名为user1的操作系统用户,同时数据库上也有同名的数据库用户,user1登录 操作系统后可以直接输入psql,以user1数据库用户身份登录数据库且不需密码。
Cloudera Manager提供了一个嵌入式PostgreSQL数据库服务,用于在创建集群时进行演示和概念验证部署。为了提醒用户此嵌入式数据库不适合生产,Cloudera Manager将显示横幅文本:“您正在非生产模式下运行Cloudera Manager,该模式使用嵌入式PostgreSQL数据库。切换到使用支持的外部数据库,然后再投入生产”。
PG数据库和应用之间常见的部件有连接池、负载平衡组件、路由、防火墙等。我们常常不在意或者认为涉及的网络hops对整体性能产生的额外开销是理所当然的。但在很多情况下,它可能会导致严重的性能损失和拖累整体吞吐量。相当长一段时间,我试图对这种开销进行良好的评估,之前写过how the volume of data transmission as part of SQL execution, as well as the cursor location, affects the overall performance:
PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。
因为POSTGRESQL 备份的方式很多,所以在众多的备份方式和软件中,也只能“半网打进”。
和对外部世界可访问的任何服务器守护进程一样,我们也建议在一个独立的用户账户下运行PostgreSQL。这个用户账户应该只拥有被该服务器管理的数据,并且应该不能被其他守护进程共享(例如,使用用户nobody是一个坏主意)。我们不建议把可执行文件安装为属于这个用户,因为妥协系统可能接着修改它们自己的二进制文件。
Postgres 16刚刚发布了测试版,我对其中的新功能非常兴奋。该新功能允许从待命服务器进行逻辑复制,用户可以:
在任何时间,PostgreSQL在数据集簇目录的pg_wal/子目录下都保持有一个预写式日志(WAL)。这个日志存在的目的是为了保证崩溃后的安全:如果系统崩溃,可以“重放”从最后一次检查点以来的日志项来恢复数据库的一致性。该日志的存在也使得第三种备份数据库的策略变得可能:我们可以把一个文件系统级别的备份和WAL文件的备份结合起来。当需要恢复时,我们先恢复文件系统备份,然后从备份的WAL文件中重放来把系统带到一个当前状态。这种方法比之前的方法管理起来要更复杂,但是有其显著的优点:
如果您在生产环境中使用PostgreSQL,请务必采取预防措施以确保用户的数据不会丢失。通过频繁备份数据库或使用cron任务自动执行备份,您将能够在数据库丢失或损坏的情况下快速还原系统。幸运的是,PostgreSQL包含的工具使这项任务变得简单易行。
领取专属 10元无门槛券
手把手带您无忧上云