aboutsummaryrefslogtreecommitdiffstats

peeringdb-simplesync - Minimalistic PeeringDB synchronization tool

A simple tool for keeping a local PostgreSQL database up-to-date with PeeringDB.

Requirements

  • PostgreSQL 9.5+
  • Python 3.6+
  • psycopg2 2.7+
  • python-requests 2+
  • python-yaml

Installation

sudo apt install git python3 python3-requests python3-psycopg2 python3-yaml

git clone https://git.2e8.dk/peeringdb-simplesync
cd peeringdb-simplesync

cp config.py.sample config.py
editor config.py # provide API-key

createdb pdbtest
psql pdbtest < schema.sql

Usage

./sync.py # initial sync takes about 10 minutes

Then try the following query with psql pdbtest:

SELECT
    asn,
    data->>'irr_as_set',
    (data->>'info_prefixes4')::int pfx4,
    (data->>'info_prefixes6')::int pfx6
FROM peeringdb.net
WHERE deleted IS NULL
ORDER BY asn;

Note: if you add an info_prefixes4 column to the schema, then it will automatically be used, just like the asn column.

Disclaimer

This tool is not affiliated with PeeringDB.