如何在Linux下调试PostgreSQL

2025-04-07 02:03:34
推荐回答(1个)
回答1:

 1. 安装Linux操作系统
  注意把gdb、Emacs或DDD这些开发工具都安装上。如果是在虚拟机上安装,依然需要设置Linux系统的网络环境;另外需要设置文件共享,方便windows下面的postgreSQL源码能在Linux下面访问到。

  2. 安装PostgreSQL
  useradd postgre

  (自动建立 postgre 组;设计人员为了安全考虑,PostgreSQL 不能以root 用户运行,所以必须建立对应的用户和组。)
  解压到 /usr/local/src
  tar xvfz postgresql-8.4.tar.gz
  cd postgresql-8.4
  ./configure --prefix=/usr/local/pgsql --enable-debug --enable-assert --without-readline --without-zlib
  make
  make install
  chown -R postgre.postgre /usr/local/pgsql

  3. 设置Postgres环境变量(非必须)
  vi ~postgre/.bash_profile
  添加:
  PGLIB=/usr/local/pgsql/lib
  PGDATA=$HOME/data
  PATH=$PATH:/usr/local/pgsql/bin
  MANPATH=$MANPATH:/usr/local/pgsql/man
  export PGLIB PGDATA PATH MANPATH

  4. 建立数据库
  以 postgres 用户登录:
  su postgre
  建立数据库目录:
  mkdir data
  启动数据库引擎:
  initdb –D “数据库目录”
  之后可以根据提示,通过psql进入数据库

  5. 构造PostgreSQL调试环境
  先 psql template1进去,然后
  select pg_backend_pid();
  获得id,就是gdb后面用到的数字
  gdb /usr/local/pgsql/bin/postgres 997(pid的数字)
  如果只使用gdb,全部是命令行界面;而Emac、DDD分别是彩色、黑白用户交互式图形界面。

  6. 使用gdb进行调试