Guide: Installing Apache A Graph Extension (AGE) on PostgreSQL Source Code
Tags: apacheage, apache, postgres, database
Published: 2023-07-27 21:56:57

Hey there, fellow tech enthusiasts! Today, I want to take you on a journey to explore an exciting tool that can supercharge your PostgreSQL experience – Apache AGE. 🚀

What is Apache AGE, you might ask? Well, it's an awesome extension that allows you to harness the power of graphs within your PostgreSQL database. And trust me, it's going to open up a whole new world of possibilities for your data.

So, let's dive right in and get started with the installation process. Don't worry; it's not as complex as it sounds!

### Setting Up PostgreSQL

Before we jump into Apache AGE, make sure you have PostgreSQL installed on your system. If you haven't done that yet, don't fret! Head over to this blogpost [Installing PostgreSQL FROM Source Code (Full Installation Guide)](https://dev.to/dukeofhazardz/installing-postgresql-from-source-code-full-installation-guide-1f6j), and follow the on-screen instructions. Easy peasy!

### Apache AGE Installation

Now that PostgreSQL is up and running, it's time to bring in the graph magic – Apache AGE. Here's how you can do it:

1. Open up your terminal or command prompt (you know the drill!).
2. Clone the Apache AGE repository from Github [Apache AGE](https://github.com/apache/age)
```
username@ubuntu:/home$ git clone git@github.com:apache/age.git
```
3. Navigate into the AGE repo and install AGE by running `PG_CONFIG` by running `sudo make PG_CONFIG=~/path_to/postgresql-13.10/bin/pg_config install`.
```
username@ubuntu:/home/age$ sudo makePG_CONFIG=~/Desktop/postgresql-13.10/bin/pg_config install
```
Ensure you replace the path with the actual path to your postgres directory.

4. Run `install check` to ensure that AGE installed without any issues.
`make PG_CONFIG=~/path_to/postgresql-13.10/bin/pg_config install check`
Ensure you run this command without `sudo`.

### Activating Apache AGE on PostgreSQL

Once the installation is complete, it's time to integrate Apache AGE with PostgreSQL. Here's how:

1. Open your `postgresql.conf` file in the data directory.

```
user@ubuntu:/home/postgresql-13.10/data$ vi postgresql.conf
```

2. Search and set `set_preload_librabries = 'age'`.
3. Search and set `search_path = 'ag_catalog, "user", public'`.

###  Exploring AGE on PostgreSQL

After setting up our `postgresql.conf` file, we can now start Postgres.

1. Run `bin/pg_ctl -D data -l logfile start` to start the postgres server.
2. Run `bin/psql --port=5432 my_db` to connect to our database.
3. Once connected to our database, we can now run AGE cypher queries on PostgreSQL.

```
psql (13.10)
Type "help" for help.

my_db=# 
my_db=# SELECT * FROM cypher('my_db', $$ MATCH (u)
my_db$# RETURN u
my_db$# $$) AS (u agtype);
 u
---
(0 rows)

my_db=#
```

### Final Thoughts

Congratulations! You've successfully installed Apache AGE on your PostgreSQL database, and now you're equipped with the power of graphs to tackle complex data relationships like a pro. 🚀

Feel free to experiment with graph queries and let your creativity flow! Apache AGE is an incredible tool that can revolutionize the way you interact with your PostgreSQL data.

So go ahead, embrace the graph revolution, and unlock the true potential of your database with Apache AGE. Happy graphing! 😎


### References
- [Installing PostgreSQL FROM Source Code (Full Installation Guide)](https://dev.to/dukeofhazardz/installing-postgresql-from-source-code-full-installation-guide-1f6j)
- Visit Apache AGE Website: https://age.apache.org/
- Visit Apache AGE GitHub: https://github.com/apache/age
- Visit Apache AGE Viewer GitHub: https://github.com/apache/age-viewer