langfuse使用的postgresql(docker)启用归档

 

1.创建归档文件存放路径
需要登录容器创建目录,归档目录必须在容器里面创建
docker exec -ti langfuse-db-1 /bin/bash
cd /var/lib/postgresql/data
mkdir archivelog

 

若归档目录不放在data目录下,可以单独创建目录
cd /var/lib/postgresql
mkdir archivelog
修改权限:
chown -R postgres:postgres /var/lib/postgresql/archivelog
chmod 0700 /var/lib/postgresql/archivelog

 

 

 

 

2.修改pg配置文件
cd /home/middle/langfuse/pgdata
vi postgresql.conf

wal_level=replica
archive_mode=on
##archive_command = 'DATE=`date +%Y%m%d`;DIR="/home/middle/langfuse/pgdata/archivelog/$DATE";(test -d $DIR || mkdir -p $DIR)&& cp %p $DIR/%f'

archive_command = 'cp %p /var/lib/postgresql/data/archivelog/%f'

 

归档目录不在data目录下的要注意修改路径

archive_command = 'cp %p /var/lib/postgresql/archivelog/%f'

 

 

 

发现在pg16里面不能创建日期目录
2024-12-03 10:04:46.064 UTC [1326] FATAL:  invalid value for parameter "archive_command": "DATE=`date +%Y%m%d`;DIR="/home/middle/langfuse/pgdata/archivelog/$DATE";(test -d $DIR || mkdir -p $DIR)&& cp %p $DIR/%f"
2024-12-03 10:04:46.064 UTC [1326] DETAIL:  String contains unexpected placeholder "%Y".

 

 

 

3.重启容器

cd /home/middle/langfuse/langfuse
docker compose stop

docker compose start

 

4.归档切换
psql -h localhost -U postgres -p5432
postgres=# show archive_mode;
archive_mode
--------------
on
(1 row)

postgres=# checkpoint;
CHECKPOINT

select pg_switch_wal();


查看日志:
docker logs langfuse-db-1

 

5.归档目录外挂到宿主机(若归档目录不上存放在data目录的需要单独外挂出来)

这个时候归档目录上没有外挂出来的,因为docker-compose.yml只外挂了data目录

 

下面修改docker-compose.yml配置文件,把归档目录外挂出来

添加如下项:

- /home/middle/langfuse/archivelog:/var/lib/postgresql/archivelog

这里的宿主机目录archivelog不需要提前创建的 

 

需要重新部署(重启没有效果的)

cd /home/middle/langfuse/langfuse
docker compose down
docker compose up -d

重启不管用
docker compose stop
docker compose start

 

这里好像报权限不足

cp: cannot create regular file '/var/lib/postgresql/archivelog/000000010000000000000004': Permission denied
2024-12-04 01:40:41.451 UTC [31] LOG:  archive command failed with exit code 1

 

登录容器重新赋予权限

chown -R postgres:postgres /var/lib/postgresql/archivelog
chmod 0700 /var/lib/postgresql/archivelog

posted @   slnngk  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-12-04 shell时间转换成utc时间
2019-12-04 dataguard主库添加的数据文件路径在从库不存在
2019-12-04 12c expdp
点击右上角即可分享
微信分享提示