Implementation differences for the ST_Raster type

Differences that exist in the ST_Raster implementation among databases are a result of SQL syntax, data types, and user-defined type implementation differences in each database management system (DBMS).

The data types that are used as input and returned by the same function are different depending on what data types are available in the DBMS. For example, the ST_Raster_Util.describe function takes NCLOBs, VARCHAR2s, and NVARCHAR2s as input and returns CLOBS in Oracle, but takes and returns TEXT in PostgreSQL.

The ST_Raster type library is implemented as an assembly in Microsoft SQL Server databases. ST_Raster functions also are implemented using different mechanisms in different databases. For example, in Oracle and SQL Server, ST_Raster functions are implemented at the member method level, whereas in PostgreSQL, they are implemented at the PL/SQL package level.

Some of the function names also vary from database to database. For example, the function to find the current version number of the ST_Raster type is called ST_Raster_Util.getLibraryVersion in Oracle and st_raster_getversionlib in PostgreSQL.

When you use ST_Raster functions in SQL Server, the function case must match the function name. For example, you must type getPixelType, not getpixeltype, GetPixelType, or GETPIXELTYPE.