Class PostgresDocumentSaver (0.8.0)

PostgresDocumentSaver(
    key: object,
    engine: langchain_google_cloud_sql_pg.engine.PostgresEngine,
    table_name: str,
    content_column: str,
    metadata_columns: typing.List[str] = [],
    metadata_json_column: typing.Optional[str] = None,
)

A class for saving langchain documents into a PostgreSQL database table.

Methods

PostgresDocumentSaver

PostgresDocumentSaver(
    key: object,
    engine: langchain_google_cloud_sql_pg.engine.PostgresEngine,
    table_name: str,
    content_column: str,
    metadata_columns: typing.List[str] = [],
    metadata_json_column: typing.Optional[str] = None,
)

PostgresDocumentSaver constructor.

Parameters
Name Description
key object

Prevent direct constructor usage.

engine PostgresEngine

AsyncEngine with pool connection to the postgres database

table_name Optional[str], optional

Name of table to query. Defaults to None.

content_columns Optional[List[str]], optional

Column that represent a Document's page_content. Defaults to the first column.

metadata_columns Optional[List[str]], optional

Column(s) that represent a Document's metadata. Defaults to None.

metadata_json_column Optional[str], optional

Column to store metadata as JSON. Defaults to "langchain_metadata".

Exceptions
Type Description
Exception if called directly by user.

aadd_documents

aadd_documents(docs: typing.List[langchain_core.documents.base.Document]) -> None

Save documents in the DocumentSaver table. Document’s metadata is added to columns if found or stored in langchain_metadata JSON column.

Parameter
Name Description
docs List[langchain_core.documents.Document]

a list of documents to be saved.

add_documents

add_documents(docs: typing.List[langchain_core.documents.base.Document]) -> None

Save documents in the DocumentSaver table. Document’s metadata is added to columns if found or stored in langchain_metadata JSON column.

Parameter
Name Description
docs List[langchain_core.documents.Document]

a list of documents to be saved.

adelete

adelete(docs: typing.List[langchain_core.documents.base.Document]) -> None

Delete all instances of a document from the DocumentSaver table by matching the entire Document object.

Parameter
Name Description
docs List[langchain_core.documents.Document]

a list of documents to be deleted.

create

create(
    engine: langchain_google_cloud_sql_pg.engine.PostgresEngine,
    table_name: str,
    content_column: str = "page_content",
    metadata_columns: typing.List[str] = [],
    metadata_json_column: typing.Optional[str] = "langchain_metadata",
) -> langchain_google_cloud_sql_pg.loader.PostgresDocumentSaver

Create an PostgresDocumentSaver instance.

Parameters
Name Description
engine PostgresEngine

AsyncEngine with pool connection to the postgres database

table_name Optional[str], optional

Name of table to query. Defaults to None.

content_columns Optional[List[str]], optional

Column that represent a Document's page_content. Defaults to the first column.

metadata_columns Optional[List[str]], optional

Column(s) that represent a Document's metadata. Defaults to None.

metadata_json_column Optional[str], optional

Column to store metadata as JSON. Defaults to "langchain_metadata".

create_sync

create_sync(
    engine: langchain_google_cloud_sql_pg.engine.PostgresEngine,
    table_name: str,
    content_column: str = "page_content",
    metadata_columns: typing.List[str] = [],
    metadata_json_column: str = "langchain_metadata",
) -> langchain_google_cloud_sql_pg.loader.PostgresDocumentSaver

Create an PostgresDocumentSaver instance.

Parameters
Name Description
engine PostgresEngine

AsyncEngine with pool connection to the postgres database

table_name Optional[str], optional

Name of table to query. Defaults to None.

content_columns Optional[List[str]], optional

Column that represent a Document's page_content. Defaults to the first column.

metadata_columns Optional[List[str]], optional

Column(s) that represent a Document's metadata. Defaults to None.

metadata_json_column Optional[str], optional

Column to store metadata as JSON. Defaults to "langchain_metadata".

delete

delete(docs: typing.List[langchain_core.documents.base.Document]) -> None

Delete all instances of a document from the DocumentSaver table by matching the entire Document object.

Parameter
Name Description
docs List[langchain_core.documents.Document]

a list of documents to be deleted.