首页 > 其他分享 >postgres V15

postgres V15

时间:2024-08-11 15:07:57浏览次数:14  
标签:PostgreSQL postgres -- 数据库 V15 pgsql postgresql

1. PostgreSQL Mailing Lists 邮件订阅

​ 网址:https://www.postgresql.org/list/

​ 首先进入PostgreSQL的邮件订阅网站https://lists.postgresql.org/,点击“Mange Subscriptions”按钮,如果进入没有账号,点击“creat”关键字创建账号并关联到自己需要订阅的邮箱地址,然后登录账号,再次按照流程进入邮件订阅管理页面,选择自己需要的邮件进行订阅。

2. PostgreSQL 简单了解

2.1 架构基础

​ 客户端/服务器模式。

​ 服务器:管理数据库的文件,接收客户端连接并且根据客户端的指令对数据库文件进行操作。

​ 客户端:用户操作使用的应用,多种多样,基本上由用户进行开发,向服务器发送操作指令。

2.2 PostgreSQL源码安装

2.2.1 安装centos-7

​ 配置:1GB内存 1处理器/1核心数量 20GB硬盘

​ 如果已经安装过PostgreSQL的其他版本,需要删除原有的PostgreSQL,操作流程如下:

# (1)查看原有PostgreSQL的状态
systemctl list-units | grep postgresql
service postgresql-<version> status
# (2)将原有的PostgreSQL服务停止
service postgresql-<version> stop
# (3)卸载所有的PostgreSQL(注意输入“y”即可)
yum remove postgresql*
# (4)验证PosgreSQL是否被删除
rpm -qa | grep postgresql
2.2.2 下载源码
# 使用yum安装wget,再使用wget来下载postgres的V15.7的源码
yum -y install wget
wget https://ftp.postgresql.org/pub/source/v15.7/postgresql-15.7.tar.gz --no-check-certificate
2.2.3 解压源码
tar -zxvf postgresql-15.7.tar.gz
cd postgresql-15.7
2.2.4 安装

​ 总代码

./configure
make
su
make install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
2.2.4.1 配置
./configure

​ --prefix指定所有文件安装目录,不指定默认在/usr/local/pgsql中。如:./configure --prefix=/opt/pgsql/postgresql

​ 在执行命令的过程中出现错误。

configure: error: readline library not found
------
configure: error: zlib library not found

​ 表示这两个依赖未被发现,可以使用--without -readline来解决,但是还是建议进行安装依赖,使用yum命令来进行安装。

依赖包说明如下:

序号 依赖包名称 说明
1 perl-ExtUtils-Embed 这个包用于嵌入Perl代码到C程序中。在PostgreSQL中,它可能被用于某些与Perl相关的扩展或自定义脚本功能。
2 readline-devel 这是readline库的开发版本,提供了命令行编辑和历史记录的功能。对于PostgreSQL,它使得使用交互式命令行工具(如psql)更加方便。
3 zlib-devel 这是zlib压缩库的开发版本,用于数据压缩和解压缩。在PostgreSQL中,它用于优化数据存储和传输。
4 pam-devel 这是Pluggable Authentication Modules(PAM)的开发包,用于集成多种认证技术。在PostgreSQL中,PAM可以用于用户认证。
5 libxml2-devel 这是libxml2库的开发版本,它提供了XML的支持。在PostgreSQL中,它用于处理XML数据格式的功能。
6 libxslt-devel 这是libxslt库的开发版本,用于XSLT转换。在PostgreSQL中,可能用于转换XML数据。
7 openldap-devel 这是OpenLDAP的开发包,用于LDAP协议的支持。在PostgreSQL中,它可以用于集成LDAP-based的用户认证。
8 python-devel 这是Python语言的开发包,可能用于支持Python编写的数据库脚本或扩展。
9 gcc-c++ 这是GNU C++编译器,用于编译C++代码。它可能用于编译PostgreSQL中的某些C++编写的部分或扩展。
10 openssl-devel 这是OpenSSL库的开发版本,提供加密和SSL/TLS支持。在PostgreSQL中,它用于确保数据传输的安全性。
11 cmake 这是一个跨平台的安装(构建)系统,用于控制软件编译和测试的过程。在某些PostgreSQL的扩展或自定义安装中可能会用到。
yum install -y readline-devel
-------
yum install -y zlib-devel

​ 安装完成之后再次执行./configure命令。

​ 表2-1 configure选项表

选项 描述
--prefix=prefix 安装到prefix指向的目录;默认为 /usr/local/pgsql
--bindir=dir 安装应用程序到dir;默认为prefix/bin
--with-docdir=dir 安装文档到dir;默认为prefix/doc
-with-pgport=port 设置默认的服务器端网络链接勿复TCP端口号
--with-tcl 为服务端提供Tcl存储过程支持
--with-perl 为服务端提供Perl存储过程支持
--with-python 为服务端提供Python存储过程支持
--enable-debug 启用编译时的调试标志,生成包含调试信息的二进制文件,方便调试
--enable-cassert 启用编译时的断言检查,有助于检测运行时错误
--enable-nls 启用本机语言支持 (NLS),即以除英语以外的语言显示程序消息的能力。
--with-openssl 使用OpenSSL库为PostgreSQL提供加密支持,包括SSL连接等功能
--with-libxml 为PostgreSQL提供XML支持,包括XML解析和函数
--with-uuid=e2fs 使用e2fsprogs的UUID库(或其他库,如ossp-uuid)
--with-zlib 使用zlib库进行数据压缩支持
--with-ldap 添加LDAP身份验证支持
--with-ossp-uuid 使用OSSP UUID库
--with-systemd 配置PostgreSQL支持systemd服务管理器
--with-krb5 添加Kerberos身份验证支持
--with-geos 为PostGIS地理信息系统扩展提供GEOS库支持
--with-bonjour 添加Bonjour服务发现支持
--without-readline 不使用Readline库支持交互式终端输入编辑功能
--with-includes=dir 指定额外的头文件搜索路径
--with-libraries=dir 指定额外的库文件搜索路径
--with-zstd 使用 Zstandard 压缩支持进行构建。
--datadir=dir 数据文件目录,默认为prefix/share/postgresql
--sysconfdir=dir 配置文件目录,默认为prefix/etc/postgresql
--sharedir=dir 共享文件目录,默认为prefix/share/postgresql
--docdir=dir 文档目录,不同于--with-docdir,用于HTML、man手册等文档
--enable-nls 启用本地化支持,提供多语言翻译
--disable-rpath 禁止在可执行文件中嵌入库路径
--enable-thread-safety 启用线程安全构建(默认开启)
--with-extra-version=version 在PostgreSQL版本信息中添加附加版本字符串
--mandir=dir 手册页目录。默认值为 *DATAROOTDIR*/man
--docdir=dir 安装文档文件的根目录。默认值为 *DATAROOTDIR*/doc/postgresql
--htmldir=dir HTML 格式文档的目录。默认值为 *DATAROOTDIR*
--without-icu 在不使用 ICU 库支持的情况下构建,禁用 ICU 整理功能的使用
--without-readline 防止使用 Readline 库(以及 libedit)。
--without-zlib 防止使用 Zlib 库。
--disable-spinlocks 即使 PostgreSQL 没有针对该平台的 CPU 自旋锁支持,也允许构建成功。
--disable-atomics 禁用使用 CPU 原子操作。
--disable-thread-safety 禁用客户端库的线程安全性。

​ 这些选项可以根据实际需求配置PostgreSQL的功能和安装路径,但并非所有选项都在所有平台上都适用,具体的选项和支持情况需参照PostgreSQL官方文档或实际运行./configure --help命令获取最新的和完整的配置选项列表。

2.2.4.2 编译

​ 按官方文档要求,使用make命令时,其版本要在gmake v3.8以上,目前绝大多数Linux发行版本都满足要求,所以一般在Linux环境下不需要检测make版本,但如果是在其他非Linux的UNIX平台上,建议先检测make的版本,检测命令如下。

# 在其他UNIX平台上,可能存在非GNU的make,此时GNU的make的名称会是“gmake”。
osdba@osdba-laptop:~$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.

​ 在postgres的解压目录执行make或者make all命令,等待编译完成。

make  /   make all
2.2.4.3 安装

​ 在postgres的解压目录执行make install命令,等待安装完成。

make install

​ 到此安装结束,在/usr/local/pgsql目录下可以查看安装的文件。

2.3 环境配置

2.3.1 创建postgres用户

​ 对于新增的用户,建议是设置一个密码,并且可以适当的给予新用户root权限或者sudo权限。

# 新增用户postgres
adduser postgres
或
sudo useradd postgres

# 设置postgres的密码
sudo passwd postgres
# 系统将提示你输入密码,输入后按Enter键确认,再次输入以确认密码

# 若要赋予该用户sudo权限(可选,取决于你希望osdba用户是否具有管理员权限)
sudo usermod -aG wheel postgres  # 对于使用wheel组的系统
sudo usermod -aG sudo postgres   # 对于使用sudo组的系统

# 确认用户和组信息已生效
id postgres
2.3.2 创建数据目录

​ 建立新用户之后可以数据库目录的创建。对于这个目录你也可以修改一下目录的权限,这是为了出于安全考虑。

mkdir /usr/local/pgsql/data

# 创建pg数据库数据存放目录
mkdir /usr/local/pgsql/data

# 给予权限
chown postgres /usr/local/pgsql/data

​ 如果创建的文件夹postgres用户没有权限可以赋予权限。

2.3.3 配置环境变量

​ PostgreSQL安装完成后,需要设置可执行文件的路径:

export PATH=/usr/local/pgsql/bin:$PATH

​ 然后设置共享库的路径:

export LD_LIBRARY_PATH=/usr/local/pgsql/lib

​ 设置数据库的数据目录的路径:

export PGDATA=/usr/local/pgsql/data

​ 如果想让以上设置的配置对所有的用户生效,可以把以上内容添加到/etc/profile文件中,/etc/profile中的内容类似如下内容:

# 在root用户下
vi /etc/profile

# 追加内容
...
...
...
if [ -d /etc/profile.d ]; then
	for i in /etc/profile.d/*.sh; do
		if [ -r $i ]; then
			. $i
		fi
	done
	unset i
fi

export PATH=/usr/local/pgsql/bin:$PATH
export PGDATA=/usr/local/pgsql/data
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH

​ 对某个指定用户生效也可以,如对新增的postgres用户的环境变量进行新增操作。

cd /home/postgres/
ls -la

​ 可以看见一个.bash_profile的文件,编辑这个文件

vi .bash_profile

​ 将环境变量写入其中。

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH


export PGHOME=/usr/local/pgsql
export PGDATA=$PGHOME/data
export PATH=$PATH:$HOME/bin:$PGHOME/bin

​ 写入完成之后,执行下面命令让环境变量生效。

source .bash_profile

2.4 安装contrib目录工具

contrib下有一些工具比较实用,一般用户都会安装这些工具,其安装的方法也与Linux下的编译过程相同,安装命令如下:

# 进入解压后的源码目录下的、contrib
cd postgresql-16.3/contrib
make
sudo make install

2.5 数据库配置

2.5.1 数据初始化

​ 切换到postgres用户,执行initdb命令初始化数据库。

# 切换用户
su - postgres

# 如果配置好了环境变量
initdb
# 如果没有配置好
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

​ 可以查看/usr/local/pgsql/data目录,看是否初始化成功。

2.5.2 数据启动/停止

​ 启动数据库的命令为:

pg_ctl start -D $PGDATA

​ 停止数据库的命令如下:

pg_ctl stop -D $PGDATA [-m SHUTDOWN-MODE]

​ 其中 -m 用于指定数据库的停止方法,有以下3种模式:

  • smart:等所有连接中止后,关闭数据库。如果客户端连接不终止,则无法关闭数据库。
  • fast:快速关闭数据库,断开客户端的连接,让已有的事务回滚,然后正常关闭数据库。相当于Oracle数据库关闭时的immediate模式。
  • immediate:立即关闭数据库,相当于数据库进程立即停止,直接退出,下次启动数据库需要进行恢复。相当于Oracle数据库关闭时的abort模式。

​ 较常用的关闭数据库的方法是fast模式,因为如果采用smart模式,有用户连接到数据库时,系统会一直等待,而无法关闭数据库。PostgreSQL9.5之前的版本默认是smart模式,通常要使用命令“pg_ctl stop -m fast”来关闭数据库,在PostgreSQL9.5以上的版本中可以直接用“pg_ctl stop”命令来关闭数据库。

2.5.3 数据库密码设置

​ PostgreSQL的默认用户名通常是postgres,但并没有默认密码。在首次安装PostgreSQL时,系统不会自动生成一个默认密码,而是需要你在安装后手动设置。

​ 很多Linux发行版中,安装完成后,作为超级用户(如root)可以通过以下步骤为postgres用户设置密码:

sudo -u postgres psql -d postgres
# 进入psql命令行后,可以执行以下命令设置密码
ALTER USER osdba WITH PASSWORD 'your_password';
\q

​ 在设置完密码后,强烈建议对默认用户进行如下操作:

  1. 更改默认用户的密码,以增加安全性。
  2. 根据实际需要创建新的数据库用户,并赋予合适的权限,而非直接使用postgres用户进行日常操作。
  3. 对数据库实例采取必要的安全措施,比如禁用不需要的协议,启用SSL连接,以及合理配置防火墙规则,限制对PostgreSQL服务的访问仅限于授权的IP地址或网络。

​ 总之,在安装PostgreSQL并完成初步配置后,确实应当更改默认用户的密码,并根据实际情况进行更细致的安全配置。

​ 以下是一些 psql 常见的命令行参数及其描述:

命令(参数) 描述
-h HOSTNAME--host=HOSTNAME 指定要连接到的数据库服务器主机名或IP地址。默认情况下,psql 会尝试连接到本地主机。
-p PORT--port=PORT 指定数据库服务器监听的端口号,默认为 5432。
-U USERNAME--username=USERNAME 指定要使用的数据库用户名。默认情况下,psql 会尝试使用当前操作系统的用户名。
-d DATABASE--dbname=DATABASE 指定要连接的数据库名称。如果不指定,将连接到用户的默认数据库。
-w--no-password 不提示输入密码。如果服务器需要密码认证且环境变量 PGPASSWORD 未设置,则连接尝试可能会失败。
-W--password 强制 psql 提示输入密码,无论服务器是否需要密码认证。
-c COMMAND--command=COMMAND 执行单条SQL命令后退出。例如:psql -c "SELECT * FROM mytable;"
-f FILE--file=FILE 执行指定文件中的SQL命令集后退出。
-l--list 列出服务器上所有可用的数据库。
-v VARNAME=value--set=VARNAME=value 设置一个变量,可以在SQL脚本中引用。
\?\\? psql 交互模式中查看帮助,列出元命令列表。
-E--echo-queries 显示发送到服务器的SQL命令。
-a--single-transaction 在执行SQL脚本时,以单个事务的方式执行所有命令。

​ 请注意,\?-E 是在 psql 交互式会话中使用的元命令,而不是命令行参数。不过,这里为了完整性也一并列出。在实际使用中,可以根据需要组合使用这些参数。

2.6 远程连接服务

​ 进入/usr/local/pgsql/data目录,编辑其中的postgresql.conf文件。

cd /usr/local/pgsql/data

vi postgresql.conf

​ 样式:

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'          # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost'; use '*' for all
                                        # (change requires restart)
port = 5432                             # (change requires restart)
max_connections = 100                   # (change requires restart)

​ 在修改pg_hba.conf文件,让数据库可以远程访问。

vi pg_hba.conf

​ 样式:

# IPv4 local connections:
host    all             all             0.0.0.0/0               trust
host    all             all             127.0.0.1/32            trust

​ 启动postgres服务。

service postgresql start

2.7 数据库日志配置

​ 数据库日志相关参数还是在 postgresql.conf ,下面来看看与日志相关的几个参数:日志的收集一般是需要打开的,所以需要进行如下设置:

logging_collector = on
log_directory = 'log'                   # directory where log files are written,
                                        # can be absolute or relative to PGDATA

​ 日志切换和是否覆盖一般可以使用如下几种不同的方案。

方案一:每天生成一个新的日志文件

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 1d
log_rotation_size = 0

方案二:每当日志写满一定的大小(如10MB),则切换一个日志

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 0
log_rotation_size = 10M

方案三:只保留最近7天的日志,进行循环覆盖

log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 0

log_filename 中的 % 符号及其后面的字母组合是用来格式化日志文件名中的日期和时间部分的。下面是常用的时间日期格式符号以及它们对应的含义:

符号 含义
%Y 四位数的年份
%m 两位数的月份(01-12)
%d 两位数的日期(01-31)
%H 两位数的小时(00-23)
%M 两位数的分钟(00-59)
%S 两位数的秒(00-59)
%a 缩写的星期几名字(Sun-Sat)

​ 内存参数的设置

​ PostgreSQL安装完毕后,可以修改以下主要内存参数。

  • shared_buffers:共享内存的大小,主要用于共享数据块。
  • work_mem:单个SQL执行时,以及排序、Hash Join时使用的内存,SQL运行完毕后,该内存就会被释放。
  • shared_buffers的默认值为32MB,如果你的机器上有足够的内存,可以把这个参数设置得大一些,如可以设置为物理内存大小的四分之一,这样数据库就可以缓存更多数据块,当读取数据时,就可以从共享内存中进行读取,而不需要再从文件上去读。而work_mem设置大一些,会使排序操作效率更高。

2.8 本地连接测试

​ 切换到postgres用户,执行psql命令,也可以使用pg_ctl status来判断。

# 切换到postgres用户
su postgres
# 重启数据库
pg_ctl restart
# 查看数据库运行的状态
pg_ctl status
# 进入数据库
psql
# 展示
psql (15.7)
Type "help" for help.

postgres=# List of databases
postgres-# \l
                                                       List of databases
   Name    |  Owner   | Encoding | Locale Provider |   Collate   |    Ctype    | ICU Locale | ICU Rules |   Access privileges   
-----------+----------+----------+-----------------+-------------+-------------+------------+-----------+-----------------------
 mydb      | postgres | UTF8     | libc            | zh_CN.UTF-8 | zh_CN.UTF-8 |            |           | 
 postgres  | postgres | UTF8     | libc            | zh_CN.UTF-8 | zh_CN.UTF-8 |            |           | 
 template0 | postgres | UTF8     | libc            | zh_CN.UTF-8 | zh_CN.UTF-8 |            |           | =c/postgres          +
           |          |          |                 |             |             |            |           | postgres=CTc/postgres
 template1 | postgres | UTF8     | libc            | zh_CN.UTF-8 | zh_CN.UTF-8 |            |           | =c/postgres          +
           |          |          |                 |             |             |            |           | postgres=CTc/postgres
(4 rows)

2.9 远程连接测试

​ 使用datagrip工具进行连接。

2.10 设置开启自启

​ PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下。linux文件即为linux系统上的启动脚本。需切换为root用户。

su root
cd /soft/pg/postgresql-16.3/contrib/start-scripts
ls
# 展示如下
freebsd  linux  macos

​ 切换为root用户,修改linux文件属性,添加X属性

chmod a+x linux

​ 复制linux文件到/etc/init.d目录下,更名为postgresql

cp linux /etc/init.d/postgresql

​ 修改/etc/init.d/postgresql文件的两个变量

vi /etc/init.d/postgresql
cat  /etc/init.d/postgresql
# 展示如下
...
## EDIT FROM HERE

# Installation prefix
#prefix=/usr/local/pgsql
prefix=/opt/pgsql/postgresql

# Data directory
#PGDATA="/usr/local/pgsql/data"
PGDATA="/opt/pgsql/postgresql/data"
...

​ 设置postgresql服务开机自启动

chkconfig --add postgresql
chkconfig
# 展示如下
Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
postgresql      0:off   1:off   2:on    3:on    4:on    5:on    6:off

2.11 设置防火墙

​ 安装依赖包。切换到root用户。

yum -y install firewalld

​ 设置防火墙。

systemctl start firewalld
systemctl enable firewalld
systemctl status firewalld

​ 添加postgresql服务到防火墙,并加载。

firewall-cmd --permanent --zone=public --add-service=postgresql
# 展示
success
firewall-cmd --reload
# 展示
success

​ 查看端口是否开放。

/sbin/iptables -L -n
# 展示
Chain IN_public_allow (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22 ctstate NEW,UNTRACKED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:5432 ctstate NEW,UNTRACKED

2.12 启动数据库服务

​ 启动PostgreSQL服务。

service postgresql start
# 展示
Starting PostgreSQL: ok

​ 查看PostgreSQL服务,确认是否启动成功。

ps -ef | grep postgres
# 展示
root     20099  9787  0 14:55 pts/0    00:00:00 su - postgres
postgres 20100 20099  0 14:55 pts/0    00:00:00 -bash
postgres 20424     1  0 15:13 ?        00:00:00 /opt/pgsql/postgresql/bin/postmaster -D /opt/pgsql/postgresql/data
postgres 20426 20424  0 15:13 ?        00:00:00 postgres: checkpointer
postgres 20427 20424  0 15:13 ?        00:00:00 postgres: background writer
postgres 20428 20424  0 15:13 ?        00:00:00 postgres: walwriter
postgres 20429 20424  0 15:13 ?        00:00:00 postgres: autovacuum launcher
postgres 20430 20424  0 15:13 ?        00:00:00 postgres: stats collector
postgres 20431 20424  0 15:13 ?        00:00:00 postgres: logical replication launcher
# 查看端口
netstat -ltnup | grep post
#展示
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      20424/postmaster
tcp6       0      0 :::5432                 :::*                    LISTEN      20424/postmaster

​ netstat可能提示命令不存在,可以使用yum安装依稀

yum -y install net-tools

标签:PostgreSQL,postgres,--,数据库,V15,pgsql,postgresql
From: https://www.cnblogs.com/zreo2home/p/18353377

相关文章

  • postgres V16
    二postgresV16.3源码安装1安装centos-7​ 配置:1GB内存1处理器/1核心数量20GB硬盘​ 如果已经安装过PostgreSQL的其他版本,需要删除原有的PostgreSQL,操作流程如下:#(1)查看原有PostgreSQL的状态systemctllist-units|greppostgresqlservicepostgresql-<version>stat......
  • PostgreSQL的同步异步复制简介及互相转换
    PostgreSQL的同步/异步复制简介及互相转换一、介绍1.概念1.1.同步流复制同步流复制就是当主库发生变化,比如有一条DML语句产生了WAL日志后,通过后台进程传送到备库,备库必须要应用这个日志,然后向主库返回一个成功应用的信号,主库才可以成功的commit;否则主库会一直等待到备库成功......
  • PostgreSQL的一主一从集群搭建部署
    1.PostgreSQL的一主一从集群搭建部署1.目标​ 掌握Postgresql数据库主从部署搭建配置2.脉络部署规划PostgreSQL单节点安装PostgreSQL主从部署配置主从同步验证3.部署搭建3.1基础准备1.1创建两台虚拟机虚拟机名IPhostname主从划分test11192.168.198......
  • 搭建PostgreSQL高可用集群(基于Patroni+Etcd)
    搭建PostgreSQL高可用集群(基于Patroni+Etcd)1.主机环境准备节点名称主机名网卡IP地址OS安装软件角色作用PGSQL1pgsql1ens33192.168.198.162CentOS7PostgreSQL、ETCD、Patroni主数据库PGSQL2pgsql2ens33192.168.198.163CentOS7PostgreSQL、ETCD、Patr......
  • PostgreSQL15.6源码编译安装
    1.postgres数据库源码下载地址,自己选择对应版本,我这里是15.6https://www.postgresql.org/ftp/source/2.编译cd/data/make/postgresql-15.6./configure--prefix=/pgdata/postgres15make-j$(nproc)#加快编译速度,自动获取对应cpu核心数makeinstall3.创建postgres用户......
  • PostgreSQL 读取表主键和唯一键的SQL
    给定表名,读取对应的约束字段(主键,唯一键)SELECTtc.* FROMinformation_schema.table_constraintstc JOINinformation_schema.constraint_column_usageASccuUSING(constraint_schema,constraint_name) JOINinformation_schema.columnsAScONc.table_schem......
  • MySQL数据库迁移到Postgres
    一、使用pgloader进行迁移1.安装pgloader:sudoapt-getinstallpgloader2.使用pgloader迁移数据:pgloadermysql://username:password@localhost/source_dbpostgresql://username:password@localhost/destination_dbQ、异常解析Q1KABOOM!FATALerror:Failedtocon......
  • 派胜OA ExpressOA 3.0 现已支持 PostgreSQL 16 开源数据库
    ExpressOA3.0跨平台,高性能,现代化的协同办公平台系统。ExpressOA3.0现已支持PostgreSQL16开源数据库-世界上功能最强大的开源数据库。下载派胜OA最新版:www.paioffice.comPostgreSQL是全球最先进的开源数据库,它的全球社区是一个拥有数以千计的用户、贡献者、公司和组织组......
  • Tool-Postgresql
    Tool-PostgresqlUbuntu18.04安装postgresql安装&修改密码&导入sqlaptinstallpostgresqlsupostgres//postgres账户psql-hlocalhost-Upostgres//localhost用户postgresalteruserpostgreswithpassword'123456';//修改密码\ixx.sql\q修改访问权限s......
  • ignite系列之19-数据源扩展Postgresql
    storeFactory.setDialect(dialect);storeFactory.setDataSourceFactory(newDefaultDataSourceFactory((Object)null));storeFactory.setCacheName(igniteTable.tableName());importjavax.cache.configuration.Factory;publicclassDefaultDataSourceFactory<T>impl......