Skip to content

greenbone/pg-gvm

Repository files navigation

Greenbone Logo

Greenbone Library for PostgreSQL utility functions

This library contains PostgreSQL utility functions. For example to compute host and ical information within SQL statements.

Build and Installation

Prerequisites

  • GCC
  • cmake >= 3.5
  • pkg-config
  • libical >= 1.0.0
  • glib >= 2.42
  • PostgreSQL dev >= 9.6
  • libgvm-base >= 20.8

Install these packages using (on Debian GNU/Linux bookworm 12):

apt-get install gcc cmake pkg-config libical-dev libglib2.0-dev postgresql-server-dev-15

and build the gvm-libs as described in the README.

Configure and Build

This extension can be configured, built and installed with the following commands:

cmake .
make && make install

Use the extension

To use the extension in a database create the extension using

CREATE EXTENSION "pg-gvm";

Test the extension

The tests are based on pgTAP, a unit test tool for PostgreSQL Databases.

Setup for tests

Install pgTAP cloning the repository

and follow the instructions in the setup documentation

Integration

To use pgTAP in a database use

CREATE EXTENSION IF NOT EXISTS pgtap;

as postgres user. To check if the extension exists use

\dx

Running the tests

The tests are located in the tests folder of this repository.

As postgres user run (replace MY_DATABASE with the real name of the database)

pg_prove -d MY_DATABASE tests/*.sql

Support

For any question on the usage of pg-vgm please use the Greenbone Community Forum. If you found a problem with the software, please create an issue on GitHub. If you are a Greenbone customer you may alternatively or additionally forward your issue to the Greenbone Support Portal.

Maintainer

This project is maintained by Greenbone AG.

Contributing

Your contributions are highly appreciated. Please create a pull request on GitHub. Bigger changes need to be discussed with the development team via the issues section at github first.

CMake formatting

All CMake files are formatted using gersemi. To install gersemi on a Debian based system the following commands can be used:

sudo apt install pipx
pipx install gersemi

To format all CMake files run the command:

gersemi -i cmake .

License

Copyright (C) 2025 Greenbone AG

Licensed under the GNU General Public License v3.0 or later.