First, we need to create a postgres user and add it to the sudo group
1
| usermod -aG sudo postgres
|
Get codes
1
| git clone --depth=1 https://git.postgresql.org/git/postgresql.git
|
Compile after installing dependencies
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| sudo apt install -y \ build-essential \ libreadline-dev \ zlib1g-dev \ flex \ bison \ libxml2-dev \ libxslt1-dev \ libssl-dev \ libpam0g-dev \ libedit-dev \ libldap2-dev \ libicu-dev \ tcl-dev \ uuid-dev \ python3-dev \ libperl-dev \ llvm-dev \ clang \ libperl-dev \ libpython3-dev \ libossp-uuid-dev \ systemtap-sdt-dev \ pkg-config ./configure --enable-debug 'CFLAGS=-O0 -g' --enable-cassert --enable-depend --enable-dtrace --without-icu --with-llvm --prefix make make install
|
Modify environment variables
create a configure file
1 2 3 4 5 6 7 8 9 10
| export PG_HOME=$HOME/pgsql export PGDATA=$HOME/pgdata export PATH=$PG_HOME/bin:$PATH export LD_LIBRARY_PATH=$PG_HOME/lib:$LD_LIBRARY_PATH
echo "🔧 Loaded PG env: $(pg_config --version)" 在 ~/.bashrc 末尾加上这一行: [ -f ~/.pg_env ] && source ~/.pg_env
|
initdb
1 2
| sudo chown -R postgres:postgres /usr/local/pgsql initdb
|
start
1
| pg_ctl -D /usr/local/pgsql/data -l logfile start
|
About Extensions
cd contrib
登录你要使用的数据库,然后执行:
1 2
| CREATE EXTENSION pageinspect; \dx
|