ubuntu 安装 postgresql以及 wal回滚

  1. 安装
sudo apt install postgresql postgresql-contrib
  1. 设置远程连接
  • 修改/etc/postgresql/12/main/postgresql.conf
    **将listen_addresses 改成 ***
  • 修改/etc/postgresql/12/main/pg_hba.conf
    找到如下信息
    #IPv4 local connections:
    修改为
    host all all 0.0.0.0/0 md5
  1. 重启
sudo systemctl restart postgresql
  1. 创建账号
sudo su postgres
CREATE USER ellis WITH SUPERUSER PASSWORD 'ellis';
  1. 建表
CREATE TABLE public.ellistest (
	id bigserial NOT NULL,
	"name" varchar null,
	primary key (id)
);
  1. 插入数据
insert into ellistest (name) values('haha'),('test')
  1. 删除
delete from ellistest
  1. 找到当前的wal文件
select pg_current_wal_lsn(),pg_walfile_name(pg_current_wal_lsn()),pg_walfile_name_offset(pg_current_wal_lsn());

ubuntu 安装 postgresql以及 wal回滚_第1张图片
9. 找到delete的tx标号

/usr/lib/postgresql/12/bin/pg_waldump /var/lib/postgresql/12/main/000000010000000000000001 | grep DELETE

  1. 终止数据库服务
sudo systemctl stop postgresql
  1. 回滚
    在这里插入图片描述
/usr/lib/postgresql/12/bin/pg_resetwal -x 489 /var/lib/postgresql/12/main

其中/var/lib/postgresql/12/main 是postgresql的数据路径,可以在conf文件查看
注意:回滚wal日志后会丢失之前的wal log
https://www.modb.pro/db/112998

你可能感兴趣的:(postgresql,ubuntu,postgresql,linux)