Registers a custom data access protocol that can be specified when defining a Greenplum Database external table.
CREATE [TRUSTED] PROTOCOL <name> ( [readfunc='<read_call_handler>'] [, writefunc='<write_call_handler>'] [, validatorfunc='<validate_handler>' ])
CREATE PROTOCOL associates a data access protocol name with call handlers that are responsible for reading from and writing data to an external data source.
CREATE PROTOCOL command must specify either a read call handler or a write call handler. The call handlers specified in the
CREATE PROTOCOL command must be defined in the database.
The protocol name can be specified in a
CREATE EXTERNAL TABLE command.
For information about creating and enabling a custom data access protocol, see "Example Custom Data Access Protocol" in the Greenplum Database Administrator Guide.
GRANTpermissions on the protocol to other database roles.
CREATE EXTERNAL TABLEcommand.
Greenplum Database handles external tables of type
gpfdists internally. The custom protocol
gphdfs (deprecated) is registered in Greenplum Database by default. See Configuring and Using S3 External Tables for information about enabling the
S3 protocol. Refer to pxf:// Protocol for information about using the
Any shared library that implements a data access protocol must be located in the same location on all Greenplum Database segment hosts. For example, the shared library can be in a location specified by the operating system environment variable
LD_LIBRARY_PATH on all hosts. You can also specify the location when you define the handler function. For example, when you define the
s3 protocol in the
CREATE PROTOCOL command, you specify
$libdir/gps3ext.so as the location of the shared object, where
$libdir is located at
CREATE PROTOCOL is a Greenplum Database extension.
ALTER PROTOCOL, CREATE EXTERNAL TABLE, DROP PROTOCOL, GRANT
Parent topic: SQL Command Reference