Cloud SQL for PostgreSQL for LangChain

imageimageimage

Quick Start

In order to use this library, you first need to go through the following steps:

  1. Select or create a Cloud Platform project.

  2. Enable billing for your project.

  3. Enable the Cloud SQL Admin API.

  4. Setup Authentication.

Installation

Install this library in a virtual environment usingvenv.venv is a tool thatcreates isolated Python environments. These isolated environments can have separateversions of Python packages, which allows you to isolate one project’s dependenciesfrom the dependencies of other projects.

Withvenv, it’s possible to install this library without needing systeminstall permissions, and without clashing with the installed systemdependencies.

Supported Python Versions

Python >= 3.8

Mac/Linux

pip install virtualenvvirtualenv <your-env>source <your-env>/bin/activate<your-env>/bin/pip install langchain-google-cloud-sql-pg

Windows

pip install virtualenvvirtualenv <your-env><your-env>\Scripts\activate<your-env>\Scripts\pip.exe install langchain-google-cloud-sql-pg

Example Usage

Code samples and snippets live in thesamples/ folder.

Vector Store Usage

Use a Vector Store to store embedded data and perform vector search.

from langchain_google_cloud_sql_pg import PostgresVectorstore, PostgresEnginefrom langchain.embeddings import VertexAIEmbeddingsengine = PostgresEngine.from_instance("project-id", "region", "my-instance", "my-database")engine.init_vectorstore_table(    table_name="my-table",    vector_size=768,  # Vector size for `VertexAIEmbeddings()`)embeddings_service = VertexAIEmbeddings(model_name="textembedding-gecko@003")vectorstore = PostgresVectorStore.create_sync(    engine,    table_name="my-table",    embeddings=embedding_service)

See the fullVector Store tutorial.

Document Loader Usage

Use a document loader to load data as Documents.

from langchain_google_cloud_sql_pg import PostgresEngine, PostgresLoaderengine = PostgresEngine.from_instance("project-id", "region", "my-instance", "my-database")loader = PostgresSQLLoader.create_sync(    engine,    table_name="my-table-name")docs = loader.lazy_load()

See the fullDocument Loader tutorial.

Chat Message History Usage

Use Chat Message History to store messages and provide conversation history to LLMs.

from langchain_google_cloud_sql_pg import PostgresChatMessageHistory, PostgresEngineengine = PostgresEngine.from_instance("project-id", "region", "my-instance", "my-database")engine.init_chat_history_table(table_name="my-message-store")history = PostgresChatMessageHistory.create_sync(    engine,    table_name="my-message-store",    session_id="my-session_id")

See the fullChat Message History tutorial.

Contributions

Contributions to this library are always welcome and highly encouraged.

SeeCONTRIBUTING for more information how to get started.

Please note that this project is released with a Contributor Code of Conduct. By participating inthis project you agree to abide by its terms. SeeCode of Conduct for moreinformation.

Disclaimer

This is not an officially supported Google product.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-01-29 UTC.