PostgreSQL 数据库版本升级实战

PostgreSQL 版本发布规则,一年一个大版本,一个季度一个小版本;PG 遇到的 BUG 问题,社区会很快进行修复,并在下一个版本中发布,因此有必要进行对数据库版本升级,避免触发已知的 BUG 带来业务系统的不稳定。本文主要分享一下,PG 小版本升级、跨版本升级和借助逻辑复制进行数据库升级。

阅读更多

PostgreSQL备份与恢复

1. 前言

数据库的备份有多种分类方式。

  1. 按照备份后的文件类型,可以分为物理备份(文件系统级别的备份)和逻辑备份(备份后的文件是sql文件或特定格式的导出文件);
  2. 按照备份过程中是否停止数据库服务,可分为冷备份(备份过程中停止数据库服务)和热备份(备份过程中数据库服务开启并可供用户访问);
  3. 按照备份是否是完整的数据库,可分为全量备份(备份是完整的数据库)和增量备份(备份是上一次全量备份后数据库改变的内容)。

Postgresql的常见备份方式有以下三种:文件系统级别的冷备份, SQL转储, 连续归档.

阅读更多

自己动手写一个Mysql到PostgreSQL数据库迁移工具

1. 前言

这段时间在进行 Mysql 到 PostgreSQL 数据库迁移工作.

主要包含三部分工作, 其一是构建数据库对象, 包括表, 视图, 存储过程的构建, 这部分由于我在项目早期就引入了 liquibase, 所以迁移工作很简单, 所以没有总结文章.

其二是代码修改, 让代码适配新的数据库, 这部分已经总结发布到了鹏叔的技术博客 - 从 Mariadb 迁移到 postgresql.

其三是数据迁移, 数据迁移也有一些现成的工具, 但是配置起来比较麻烦, 工具比想象中的复杂太多, 用起来也不是太顺手, 与其花时间在熟悉一次性的工具上, 不如自己写一个迁移工具. 于是就有了这篇文章.

阅读更多

如何通过表名获取所有字段信息

1. 前言

通常情况下, 如果想写一些比较通用的应用程序, 我们需要通过表名去了解整个表的情况, 才能编写一些比较通用的数据库工具.
通过表名获取字段名有多种方式:

  • 第一种 我们可以查询系统表或者数据字典来获取表的信息, 其优点是效率比较高, 缺点是所写的工具往往只适用与某种特定的数据库.

  • 第二种 通过一些标准的数据库连接库获取数据库元数据, 从而获取到相应表的结构信息, 这样做的优点是由于程序是面向标准库的API,
    无论底层是何种数据库都能够兼容. 在Java领域可以通过Jdbc库提供的接口获取表信息, 在.net领域可以通过odbc, PHP领域可以使用PDO,
    SQLAPI ++ 之于C++, database/sql之于golang, sqlx之于Rust等等

本文主要介绍使用jdbc获取数据库字段信息.

阅读更多

PostgreSQL高级篇

1. PG简介

PostgreSQL是一个免费的对象-关系型数据库服务器(ORDBMS), 在灵活的BSD许可证下发行.
PostgreSQL开发者把它念作post-gress-Q-L.
PostgreSQL的Slogan是世界上最先进的开源关系型数据库.
开源界的Oracle, 去O首选

阅读更多

Go database/sql 教程

1. 简介

Go使用SQL与类SQL数据库的惯例是通过标准库database/sql。这是一个对关系型数据库的通用抽象,它提供了标准的、轻量的、面向行的接口。不过database/sql的包文档只讲它做了什么,却对如何使用只字未提。快速指南远比堆砌事实有用,本文讲述了database/sql的使用方法及其注意事项。

阅读更多

Centos7上安装MariaDB

1. 安装

1.1. 检查是否已安装 mariadb

1
yum list installed | grep mariadb

1.2. 安装MariaDB

如果未安装,执行以下命令安装命令

1
yum -y install mariadb mariadb-server
阅读更多

Linux上安装PostgreSQL

1. 前言

本文以PostgreSQL 15 为例讲解如何在linux上安装PostgreSQL。

1.1. 本文主要内容

  • PostgreSQL 15 安装(yum)
  • PostgreSQL 15 基础配置
  • PostgreSQL 15 远程访问配置
  • PostgreSQL 基础管理
阅读更多

PostgreSQL基础

1. 数据库基础知识

1.1. 什么是数据库

数据库(Database, DB)是一个长期存储在计算机内的, 有组织的, 有共享的, 统一管理的数据集合.

  • 保管数据的”仓库”
  • 数据管理的方法和技术
阅读更多