Skip to content

Instantly share code, notes, and snippets.

@rajivmehtaflex
Last active July 5, 2024 09:22
Show Gist options
  • Save rajivmehtaflex/af9c235957fb2b6ae28d84542b65b2ec to your computer and use it in GitHub Desktop.
Save rajivmehtaflex/af9c235957fb2b6ae28d84542b65b2ec to your computer and use it in GitHub Desktop.
Postgress Related stuff
References link
https://www.youtube.com/watch?v=PuHP3kktmQI&list=LL
https://github.com/dmagda/openai-cookbook/blob/main/examples/vector_databases/postgresql/getting_started_with_postgresql_pgvector.ipynb
##---------------------
FROM postgres:latest
# Install the plpython3u extension
RUN apt-get update && \
apt-get install -y postgresql-plpython3-16 && \
rm -rf /var/lib/apt/lists/*
# Start the PostgreSQL server
CMD ["postgres"]
##--------------Alternate option------------------
pip install -U phidata docker
<Prepare resources.py>
```
# resources.py
from phi.docker.app.jupyter import Jupyter
from phi.docker.app.postgres import PgVectorDb
from phi.docker.resources import DockerResources
vector_db = PgVectorDb(pg_user="ai", pg_password="ai", pg_database="ai")
# -*- DockerResources
dev_docker_resources = DockerResources(apps=[vector_db])
```
phi start resources.py
<From docker container>
apt update && apt dist-upgrade -y && apt-get install -y postgresql-plpython3-16
<From psql>
CREATE EXTENSION plpython3u;
SELECT extname FROM pg_extension;
install python and related package in docker
apt install python3-pandas -y
apt install python3-langchain -y
python3 --version
python3 -m pip install langchain
python3 -m pip install langchain --break-system-packages
python3 -m pip list
python3 -m pip list | grep langchain
python3 -m pip install langchain-openai --break-system-packages

Reference links

https://www.timescale.com/blog/use-open-source-llms-in-postgresql-with-ollama-and-pgai

https://github.com/timescale/pgai/blob/main/docs/ollama.md

https://docs.timescale.com/self-hosted/latest/install/installation-docker/

Docker and PostgreSQL Commands

  1. Pulling a Docker Image:
    docker pull timescale/timescaledb-ha:pg16                                                                          
                                                                                                                       
    

2 Running a Docker Container:

docker run -d --name timescaledb -p 5432:5432 -e POSTGRES_PASSWORD=Root1234_ timescale/timescaledb-ha:pg16   


access host url within docker container
1. get HOST_IP with `ip addr show`
2. docker run -d --name timescaledb -p 5432:5432 -e HOST_IP=10.192.12.14 -e POSTGRES_PASSWORD=Root1234_  timescale/timescaledb-ha:pg16 
3. test it within container
   curl http://$HOST_IP:11434

3 Installing PostgreSQL Client:

sudo apt-get install postgresql-client                                                                             

4 Connecting to PostgreSQL Using psql:

psql -h localhost -p 5432 -U postgres postgres                                                                     

5 Using pgcli to Connect to PostgreSQL:

pgcli postgres://postgres:Root1234_@localhost:5432/postgres                                                        

Here are the relevant steps from the provided history related to PostgreSQL:

• sudo apt install postgresql postgresql-contrib
• sudo service postgresql start
• sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'Root1234_';"
• pip install psycopg2-binary sqlalchemy pgcli

• pgcli postgres://postgres:Root1234_@localhost:5432/postgres

https://www.crunchydata.com/blog/getting-started-with-postgres-functions-in-plpython
https://www.crunchydata.com/blog/recommendation_engine_in_postgres_with_pandas_and_python
https://duckdb.org/docs/extensions/postgres.html
docker run --name barepg --rm -p 5432:5432 -e POSTGRES_PASSWORD=Root1234_ -e POSTGRES_USER=root -e POSTGRES_DB=gdb -d postgres
docker run -d --name pgdb -p 5432:5432 -e POSTGRES_PASSWORD=Root1234_ -e POSTGRES_USER=root -e POSTGRES_DB=gdb timescale/timescaledb-ha:pg16
sudo apt-get install postgresql-plpython3-12
sudo apt-get install postgresql
sudo -u postgres psql --version
sudo systemctl start postgresql
sudo -u postgres psql
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment