- 安装
sudo apt install postgresql postgresql-contrib
- 设置远程连接
- 修改/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
- 重启
sudo systemctl restart postgresql
- 创建账号
sudo su postgres
CREATE USER ellis WITH SUPERUSER PASSWORD 'ellis';
- 建表
CREATE TABLE public.ellistest (id bigserial NOT NULL,"name" varchar null,primary key (id)
);
- 插入数据
insert into ellistest (name) values('haha'),('test')
- 删除
delete from ellistest
- 找到当前的wal文件
select pg_current_wal_lsn(),pg_walfile_name(pg_current_wal_lsn()),pg_walfile_name_offset(pg_current_wal_lsn());
9. 找到delete的tx标号
/usr/lib/postgresql/12/bin/pg_waldump /var/lib/postgresql/12/main/000000010000000000000001 | grep DELETE
- 终止数据库服务
sudo systemctl stop postgresql
- 回滚
/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