记录下postgresql 12.3部署过程。 # 安装postgresql # 安装基础依赖 wget -O /etc/yum.repos.d/epel.repo https://cloud.tencent.com/repo/epel-7.repo /source/v12.3/postgresql-12.3.tar.gz curl https://mirrors.tuna.tsinghua.edu.cn/postgresql/source/v12.3 /postgresql-12.3.tar.gz.md5 | md5sum -c tmp_dir=$(mktemp -d) tar zxf postgresql-12.3.tar.gz -C ${tmp_dir 要在PostgreSQL中使用此功能,需要一个带有CONFIG_HUGETLBFS=y和的内核CONFIG_HUGETLB_PAGE=y。还必须调整内核设置vm.nr_hugepages。
PostgreSQL简介 简介 PostgreSQL在业内通常也简称PG,是一个关系型数据库管理系统,适用于各种Linux操作系统、Windows、Solaris、BSD和Mac OS X。 PostgreSQL遵循BSD许可,是一个开源软件,PostgreSQL作为全球第四大关系型数据库服务,正在以飞快的速度发展,目前已经广泛用在各个行业,PostgreSQL本身具有哪些功能特点,请往下看 为什么要使用PostgreSQL? PostgreSql提供了许多功能,旨在帮助开发人员构建应用程序,管理员保护数据完整性并且构建容错环境,并帮助你管理数据,无论数据集的大小。 Pgsql对于numa架构的支持要比mysql强一些,比mysql对于读的性能要好些,pgsql提交可以完全异步,而mysql的内存表不够实用(表锁原因) 部署PostgreSQL 安装rpm源 yum -10/bin/postgresql-10-setup initdb # 设置自动启动并且启动postgresql服务 systemctl enable postgresql-10 systemctl
/postgresql.sh export PGHOME=/usr/local/postgresql export PGDATA=/data/postgres export PGLIB=/usr/local /postgresql/lib export PATH=$PGHOME/bin:$PATH source /etc/porfile.d/postgresql.sh 初始化数据库 su - postgres initdb -D /data/postgres/ 启动 postgresql pg_ctl -D /data/postgres/ -l /usr/local/postgresql/logs/logfile start 创建启动脚本 vim /usr/lib/systemd/system/postgresql.service [Unit] Description=PostgreSQL database /bin/postgresql-check-db-dir ${PGDATA} ExecStart=/usr/local/postgresql/bin/pg_ctl start -D ${PGDATA}
但也有不少人质疑postgresql的未来,正所谓,赞扬或批判一种数据库都必须先了解它,然后才可有话语权。为了更多的了解postgresql,我们就先部署一套实例作为了解它的基础。 下载并解压 wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz tar -zxvf postgresql-11.4 编译postgresql源码 cd /data/postgresql-11.4 ./configure --prefix=/data/postgresql ? 配置文件修改 修改数据目录下的postgresql.conf 及 pg_hba.conf文件 postgresql.conf 配置PostgreSQL数据库服务器的相应的参数。 启动服务 a) 通过服务启动postgresql /etc/init.d/postgresql start ?
一、postgresql数据库部署 1、前往postgresql安装包的目录(这里我部署的是10.5的版本) [root@web1 ~]# cd /package/ [root@web1 package # ls apache-tomcat-8.5.39.tar.gz jdk-8u131-linux-x64.tar.gz postgresql-10.5 postgresql-10.5.tar.gz [1]: Leaving directory `/package/postgresql-10.5/config' All of PostgreSQL successfully made. server using: pg_ctl -D /usr/local/pgsql-10.5/data -l logfile start [postgres@web1 ~]$ ***在此就已经部署成功了 =# postgres=# create user test superuser password '123456'; #创建用户及密码 CREATE ROLE postgres=# 到此就大致部署完了
前言前些天给个环境部署PostgreSQL 主从负载均衡,这里仅仅简单记录一下命令以备后续使用,至于数据库的更多配置请自行根据需求配置.版本环境服务器系统: CentOS 7.9PostgreSQL 版本 /pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpmsudo yum install -y postgresql14 -server## 主库初始化数据库/usr/pgsql-14/bin/postgresql-14-setup initdb## 启动sudo systemctl enable postgresql-14sudo systemctl start postgresql-14初始化su - postgrespsql## 创建 postgres 密码ALTER USER postgres WITH PASSWORD 从 PostgreSQL 12 开始已经移除了 recovery.conf 文件,相关配置合并到了 postgresql.conf 中,由于从主库同步数据库,其中配置也需要移除和修改.vi /var/lib
docbook-style-dsssl #find / -name collateindex.pl /usr/bin/collateindex.pl #cp /usr/bin/collateindex.pl /bin/ 节点部署 keepalives_idle = 60 keepalives_interval = 10 keepalives_count = 10 [pgxl@localhost coordinator1]$ vi postgresql.conf all all 192.168.100.0/24 trust [pgxl@localhost datanode1]$ vi postgresql.conf keepalives_idle = 60 keepalives_interval = 10 keepalives_count = 10 [pgxl@localhost coordinator2]$ vi postgresql.conf all all 192.168.100.0/24 trust [pgxl@localhost datanode2]$ vi postgresql.conf
1 部署架构 2 主机配置 (主机ID20) sed -ir "s/#*max_replication_slots. */max_replication_slots= 10/" $PGDATA/postgresql.conf sed -ir "s/#*max_wal_senders. */max_wal_senders = 10/" $PGDATA/postgresql.conf sed -ir "s/#*wal_level. */wal_level = replica/" $PGDATA/postgresql.conf sed -ir "s/#*archive_mode. */archive_mode = on/" $PGDATA/postgresql.conf sed -ir "s/#*archive_command.
MySQL PostgreSQL(本章节) MongoDB Redis Etcd 上个小节我们完成PGSQL基于WAL的流复制的主从集群搭建,这个虽然底层的复制逻辑不一样,但是他和MySQL主从一样都可以作为集群的高可用来使用的 #修改postgresql.conf wal_level = logical # 开启逻辑复制模式 max_replication_slots = 5 # 预留足够的复制槽 max_wal_senders
MySQL PostgreSQL(本章节) MongoDB Redis Etcd 前面一个小节我们介绍了PostgreSQL的主从原理,并且里面还涉及到两种不同的主从模式:物理复制和逻辑复制。 主库复用前面的的我们部署的版本,下面是从库的部署。 #2.安装pg yum install -y postgresql14-server 四.主从配置 Master配置 #创建pg备份账号,需要先用psql进入控制台。 -14 systemctl start postgresql-14 host:表示这条记录用于TCP/IP连接,可以是IPv4或IPv6。 注意:PostgreSQL的允许客户端ip配置并不在账号里面,而是在这里指定。 Slave配置 数据库安装完成以后,不需要初始化,也不需要启动。
3.3docker-compose部署(企业级参考方案,需根据业务调整)统一管理配置与容器,支持一键启动、集群扩展,适合生产环境规模化部署。 进入PostgreSQL命令行展开代码语言:BashAI代码解释#普通部署(pg-web为容器名)dockerexec-itpg-webpsql-Uappuser-dappdb#docker-compose 第三步:重启容器展开代码语言:BashAI代码解释dockerrestartpg-web#普通部署#或dockercomposerestartpostgres#Compose部署5.2密码安全优化定期更换密码 在容器中与K8s的差异容器部署:适合中小规模应用,配置简单,运维成本低;K8s部署:适合大规模、高可用场景,支持自动扩缩容、滚动更新、StatefulSet持久化,但需额外配置PV/PVC、ConfigMap 初学者:使用「3.1快速部署」验证功能,熟悉PostgreSQL基础操作;中小团队:基于「3.2挂载数据目录」或「3.3docker-compose部署」,补充权限控制、网络隔离、定时备份,即可满足大部分生产需求
因为目前生产用的是pgsql的12版本,因此下面就来部署一下PostgreSQL 12. 一、环境介绍 CentOS 7.5,内核版本5.7。 hard noproc 1000000 ulimit -n 1000000 三、确保安装了gcc和make gcc --version make --version 四、PostgresSQL 服务部署 -12 mkdir -p /data/postgresql-12/{data,log,archive} chown -R postgres.postgres /data/postgresql-12/ chmod -R 0700 /data/postgresql-12/data tar xf postgresql-12.6.tar.gz cd postgresql-12.6 # prefix指定的是pgsql 80), age int ); insert into student values ('allenjol', 22); select * from student; 本次的部署和用户基本介绍就到这里
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 起因是懒 最近在开发中要用到PostgreSQL数据库 您骂得对…) 群晖解决烦恼 家里有台群晖DS218+,从不关机,为全家提供稳定的图片和视频服务,之前已在上面部署了maven私服、MySQL,运行得很稳定,今天就把PostgreSQL也部署在上面吧, 点击下图红框中的File Station 找一个合适的位置新建文件夹,我这里在docker目录下新建了名为postgres的文件夹 如此,群晖的/docker/postgres目录就会被用来保存postgresql 容器生成的文件了 创建容器前的信息汇总 创建容器前,先汇总一下即将配置的参数信息,稍后都会用到,以我这边的postgresql为例,稍后要做以下配置 文件夹映射:容器的/var/lib/postgresql
*/max_wal_senders = 10/" postgresql.conf sed -ir "s/#*wal_level. */wal_level = replica/" postgresql.conf sed -ir "s/#*archive_mode. */archive_mode = on/" postgresql.conf sed -ir "s/#*archive_command. */synchronous_standby_names = '*'/" postgresql.conf # 检查 cat postgresql.conf | grep "max_replication_slots -f /var/lib/postgresql/data/archivedir/%f && cp %p /var/lib/postgresql/data/archivedir/%f' # placeholders
如果您有其他想要了解的,欢迎私信联系我~ 背景介绍 近期,笔者承接了在 Linux 操作系统下部署 PostgreSQL 主从模式的需求,且客户要求必须是非容器化部署。 本文基于 PostgreSQL 11.6 版本,第一阶段选择源码编译方式,在 CentOS 7 操作系统下完成了 PostgreSQL 主从模式(1主1从)的部署验证工作,以下为完整过程。 过程回顾 1、创建安装目录、数据目录 mkdir -p /data/pg11 /data/pg11-data 2、下载源码 wget https://ftp.postgresql.org/pub/source /v11.6/postgresql-11.6.tar.gz tar -xzf postgresql-11.6.tar.gz -C /data 附源码地址:https://www.postgresql.org ,修改为以下内容 vi /data/pg11-data/postgresql.conf listen_addresses = '*' wal_level = replica max_connections
本文将详细介绍 PostgreSQL 的功能、特性以及如何部署和使用它。 什么是 PostgreSQL? PostgreSQL 是一款开源的、免费的关系型数据库管理系统。 PostgreSQL 的功能和特性 多版本并发控制(MVCC) PostgreSQL 使用多版本并发控制来管理事务,这意味着它可以支持高并发访问,每个事务都可以看到一致的快照数据。 外键支持 PostgreSQL 提供了完整的外键支持,可以维护表之间的关联关系,并确保数据的完整性。 PostgreSQL 的部署 创建docker-compose.yml 文件 version: "3.3" services: postgres: image: postgres:14.2 通过 Docker 容器化部署,您可以快速开始使用 PostgreSQL,并利用其强大的功能来满足不同的数据库需求。希望本文帮助您更好地了解 PostgreSQL 并进行部署。
PostgreSQL主从流复制部署 简介 postgres在9.0之后引入了主从的流复制机制,所谓流复制,就是从服务器通过tcp流从主服务器中同步相应的数据。 这里部署的是异步的流复制。 主从服务器所在节点的系统、环境等最好一致。PostgreSQL版本也最好一致,否则可能会有问题。 安装部署 先假定在192.168.20.93和192.168.20.94均安装PostgreSQL,具体情况按照实际IP地址。 具体安装部署步骤见:上述步骤 2.1 主服务器 主服务器为192.168.20.93 1.首先需要创建一个数据库用户进行主从同步。创建用户replica,并赋予登录和复制的权限。 至此,PostgreSQL主从流复制安装部署完成。 在主服务器上插入数据或删除数据,在从服务器上能看到相应的变化。从服务器上只能查询,不能插入或删除。
PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PgBouncer 简介 内容2 : PgBouncer 安装 内容3 : PgBouncer 启动与关闭 内容4 : 通过PgBouncer 连接到数据库 PgBouncer简介 · PgBouncer 是 PostgreSQL 应用程序如果直接与PostgreSQL连接,每次连接pg都会克隆出一个服务进程来为应用程序提供服务,关闭连接后pg会自动将服务进程给停掉.频繁的创建和销毁进程,会消耗比较多的系统资源,pgbouncer PgBouncer部署 · Pgbouncer 安装 1、安装libevent(root用户): /soft/libevent-2.1.12-stable . 这里面的主机和端口指的是PostgreSQL监听的地址和端口,而用户和密码就是用来连接PostgreSQL数据库的用户名和密码。
一、在线安装pgsql12 1、进入官网 postgresql官网:https://www.postgresql.org/ postgresql中文社区:http://www.postgres.cn/ sudo yum install -y postgresql12-server sudo /usr/pgsql-12/bin/postgresql-12-setup initdb sudo systemctl enable postgresql-12 sudo systemctl start postgresql-12 4、安装启动服务 继续往下拉,找到 Post-installation ,执行启动服务命令 postgresql-setup --initdb systemctl enable postgresql.service systemctl start postgresql.service listen_addresses = '*' 3、重启postgresql systemctl restart postgresql-12 systemctl status postgresql-12
postgresql通过docker-compose部署和更改上海时区 1.创建docker-compose.yml文件 2.将下面的内容粘贴到刚才创建的docker-compose.yml文件 version /mount:/var/lib/postgresql/data environment: - PGDATA=/var/lib/postgresql/data/pgdata # POSTGRES_DB=inventory 3.启动docker-compose docker-compose up -d 4.查看是否启动成功 docker-compose ps 5.更改上海时区 postgresql /mount/pgdata/postgresql.conf #将 timezone = 'Etc/UTC' log_timezone = 'Etc/UTC' #替换为 timezone = 'Asia/