[Yandex Cloud documentation](../../index.md) > [Yandex MPP Analytics for PostgreSQL](../index.md) > [Step-by-step guides](index.md) > Working with PXF > Overview

# Working with PXF

The [Greenplum® Platform Extension Framework](https://techdocs.broadcom.com/us/en/vmware-tanzu/data-solutions/tanzu-greenplum-platform-extension-framework/6-11/gp-pxf/intro_pxf.html) (PXF) protocol is used to access data in external databases.

Let's say there is a table with sales data over several years. It contains three data types:

* Hot data over the last few months stored in MySQL®.
* Warm data over the last few years stored in Yandex MPP Analytics for PostgreSQL.
* Cold data over an earlier period stored in S3.

The colder the data, the less often it is accessed.

To distribute data across multiple DBMSs and enable access to them, PXF is used to create [external tables](../concepts/external-tables.md), i.e., special DBMS objects that reference tables, buckets, or files from external sources. This section provides [guidelines](#work-with-pxf) on how to create external tables that reference external DBMSs.

For such tables, you can specify external data source settings in the SQL query. Alternatively, you can [create a source](#work-with-pxf) in Yandex MPP Analytics for PostgreSQL with the settings you need and provide that source in the SQL query.

In Yandex MPP Analytics for PostgreSQL clusters with [Apache Cloudberry™](https://cloudberry.apache.org), in addition to external tables, you can also [create foreign tables](pxf/create-table.md#sql-statement-fdw) via FDW. Such tables provide access to the same external DBMSs as external ones. However, foreign tables support both read and write operations within a single table, unlike external tables which are strictly read-only or write-only.


## Getting started {#before-you-begin}

1. In the Yandex MPP Analytics for PostgreSQL cluster's subnet, [set up a NAT gateway and link a routing table](../../vpc/operations/create-nat-gateway.md).
1. In the Yandex MPP Analytics for PostgreSQL cluster network, [create a security group](../../vpc/operations/security-group-create.md) allowing all incoming and outgoing traffic from all addresses.


## Get started with external tables using PXF {#work-with-pxf}

1. Add a data source to Yandex MPP Analytics for PostgreSQL. The steps for adding a source depend on the source connection type:

    * [S3](pxf/create-s3-source.md)
    * [JDBC](pxf/create-jdbc-source.md)
    * [HDFS](pxf/create-hdfs-source.md)
    * [Hive](pxf/create-hive-source.md)

1. [Create an external table](pxf/create-table.md) using PXF.

1. Optionally, [update the default PXF settings](pxf/settings.md).

_Greenplum® and Greenplum Database® are registered trademarks or trademarks of Broadcom Inc. in the United States and/or other countries._