这是我参与2022首次更文挑战的第26天,活动详情查看2022首次更文挑战
在最近的工作中需要在docker中安装postgreSQL并且需要记录postgreSQL的日志,今天我们来说postgreSQL的docker安装和 日志输出,在网上搜索了一些资料,整理如下:
安装docker: docker安装在网上有很多例子和教程,这里只放一个菜鸟教程的安装实例,需要的同学自行去网上搜索。
下载docker镜像:
postgre和我们之前看到的mongodb不同,不会存在官方给的企业版没有审计功能(蛮无语的),他的配置和使用更像mysql。首先就是下载镜像:
docker pull postgres
配置:
准备映射log文件,postgre修改日志数据相对于MySQL更为简单一点,只需要修改对应的配置文件即可。首先创建宿主机映射文件夹
mkdir -p /tmp/postgrelog/
启动实例: 启动docker容器没有什么特别的地方,只要注意把log文件映射出来,映射端口配置好即可
docker run -it --name postgress --restart always -e TZ='Asia/Shanghai' -e POSTGRES_PASSWORD='123456' -e ALLOW_IP_RANGE=0.0.0.0/0 -v /tmp/postgrelog/:/tmp/postgrelog/ -p 55435:5432 -d postgres
安装vim:(网络问题自行解决/将配置文件映射出来)
apt-get update
apt-get install -y vim
配置远程访问许可:
docker exec -it postgres bash
find / -name pg_hba.conf
vim /var/lib/postgresql/data/pg_hba.conf
修改成如下:注意红线标注的地方
修改配置文件:
vim /var/lib/postgresql/data/postgresql.conf
参考:
logging_collector = on
log_directory = '/tmp'
log_filename = 'postgresql.log'
log_statement = mod
log_min_duration_statement=0
log_line_prefix = '%m %p %u %d %r %e'
主要修改如上几个配置,修改完成后退出容器,重启容器
docker restart xxx
测试:
使用客户端软件如navicate连接数据库,查看日志