[Yandex Cloud documentation](../../index.md) > [Yandex MPP Analytics for PostgreSQL](../index.md) > [Concepts](overview.md) > External tables

# External tables

Yandex MPP Analytics for PostgreSQL allows you to work with data from sources that are external to a Yandex MPP Analytics for PostgreSQL cluster. This functionality uses _external tables_, i.e., special objects in a database that reference tables, buckets, or files from external sources. External DBMS data is accessed via the [Greenplum® Platform Extension Framework](../operations/external-tables.md) (PXF) protocol; files on external file servers are accessed via the [Greenplum® Parallel File Server](../operations/gpfdist/connect.md) (`gpfdist`) utility. Greenplum® and Apache Cloudberry™ use different `gpfdist` utilities. For more information about the utilities, see these [Greenplum®](https://techdocs.broadcom.com/us/en/vmware-tanzu/data-solutions/tanzu-greenplum/6/greenplum-database/utility_guide-ref-gpfdist.html) and [Apache Cloudberry™ guides](https://cloudberry.apache.org/docs/sys-utilities/gpfdist).

With external tables, you can:

* Query external data sources.
* Load datasets from external sources into a Yandex MPP Analytics for PostgreSQL cluster database.
* Join local and external tables in queries.
* Write data to external tables or files.

{% note info %}

For security reasons, Yandex MPP Analytics for PostgreSQL does not support the creation of external web tables that use shell scripts.

{% endnote %}

## External data sources for PXF operations {#pxf-data-sources}

Yandex MPP Analytics for PostgreSQL uses _external data sources_ to create external tables. Each source is similar to a web server configuration used to access data in external DBMS's. This is why sources are only used for PXF operations.

Sources enable you to do the following:

* In the configuration, specify the parameters that cannot be included in an [SQL query for creating a PXF external table](../operations/pxf/create-table.md).
* Avoid explicitly specifying the user password in an SQL query for creating an external table.
* Simplify your SQL query for creating a table: with a dedicated source properly configured, there is no need to list configuration parameters in your query.
* Simplify your configuration update: it is enough to redefine the parameters at the source only once without changing them for each table separately.


## Use cases {#examples}

* [Creating an external table from a Yandex Object Storage bucket table using a configuration file](../tutorials/config-server-for-s3.md)
* [Getting data from external sources using named queries](../tutorials/pxf-named-queries.md)

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

_Apache® and Apache Cloudberry™ are registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries._