Red de conocimiento informático - Material del sitio web - Cómo depurar PostgreSQL en Linux

Cómo depurar PostgreSQL en Linux

Debido al trabajo, necesito depurar el código fuente de PostgreSQL. Un colega escribió un documento de este tipo y lo publicó para su agradecimiento.

La depuración de PostgreSQL en Linux requiere los siguientes pasos:

1. Instale el sistema operativo Linux

Asegúrese de instalar las herramientas de desarrollo gdb, Emacs o DDD. Si realiza la instalación en una máquina virtual, también debe configurar el entorno de red del sistema Linux, además, también debe configurar el disfrute del archivo para que se pueda acceder al código fuente de PostgreSQL en Windows en Linux;

2. Instalar PostgreSQL

useradd postgre

(Crea automáticamente el grupo de Postgre; por razones de seguridad, el diseñador no puede ejecutar PostgreSQL como usuario root, por lo que debe crear usuarios y grupos apropiados).

Descomprima en /usr/local/src

tar xvfz postgresql-8.4.tar.gz

cd postgresql-8.4

. /configure --prefix=/usr/local/pgsql --enable-debug --enable-assert --sin-readline --sin-zlib

make

make install

make install

chown -R postgre.postgre /usr/local/pgsql

3. Establecer variables de entorno de Postgres (no es necesario)

< p. >vi ~postgre/.bash_profile

Agregar:

PGLIB=/usr/ local/pgsql/lib

PGDATA=$HOME/data

PATH=$PATH:/usr/local/pgsql/bin

MANPATH=$MANPATH:/usr/local/pgsql/man

exportar PGLIB PGDATA PATH MANPATH< / p>

4. Crear base de datos

Iniciar sesión como usuario de postgres:

su postgre

Crear directorio de base de datos:

mkdir data

Inicie el motor de base de datos:

Initdb _D p>initdb _D "Directorio de base de datos"

Después de eso, puede seguir las instrucciones para importar psql al base de datos

5. Cree el entorno de depuración de PostgreSQL

Primero, psql template1, luego

seleccione pg_backend_pid();

Obtenga la identificación. , que está detrás de gdb Número usado

gdb /usr/local/pgsql/bin/postgres 997 (número pid)

Si solo usa gdb, es toda una interfaz de línea de comando ; mientras que Emac y DDD son interfaces gráficas interactivas de usuario en color y en blanco y negro.

6. Utilice gdb para depurar