记录一下帮助同门按照PG的过程, 以方便我日后去看PG源码的时候可以快速回忆起来
安装Docker镜像
docker run -it --name pg -v data:/root/data ubuntu:22.04
注意:这里配置了一个volume,Windows下的 \docker-desktop-data\data\docker\volumes\data\_data
目录与docker内的root/data
共享空间
如果不需要可以将-v data:/root/data
删掉
在Docker内的操作
# change ubuntu:22.04 apt source
echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse" > /etc/apt/sources.list
# apt install
apt install -y vim gcc make g++ git libreadline-dev zlib1g-dev libicu-dev bison flex
# install(at postgresql source code dir)
cd && git clone https://github.com/postgres/postgres.git && cd ~/postgres
./configure --without-icu
make -j32 all && make install
# add user
useradd -m pg
usermod -s /bin/bash pg
passwd pg
su pg
# add a lien at .bashrc
export PATH=$PATH:/usr/local/pgsql/bin
# source .bashrc
source ~/.bashrc
# pg init
mkdir ~/pg_data && cd ~/pg_data
initdb -D .
pg_ctl -D . -l logfile start
createdb