This is the multi-page printable view of this section.
Click here to print.
Return to the regular view of this page.
Category: SIM
SIM: Protocol Simulation & heterogeneous DBMS Compatibility: Oracle, MSSQL, DB2, MySQL, Memcached, and Babelfish!
SIM category has 12 available extensions:
1 - orafce
Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS
Overview
PGDG 1st Party Extension: orafce
: Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS
- Latest Version: 4.14
- Postgres Support:
17
,16
,15
,14
,13
- Need Load: Shared library do not need explicit loading
- Need DDL: Need
CREATE EXTENSION
DDL
- Relocatable: Can be installed into other schemas
- Trusted: Untrusted, Require Superuser to Create
- Schemas: N/A
- Requires: N/A
RPM / DEB
- RPM Repo: PGDG
- RPM Name:
orafce_$v*
- RPM Ver :
4.14
- RPM Deps: N/A
- DEB Repo: PGDG
- DEB Name:
postgresql-$v-orafce
- DEB Ver :
4.14
- DEB Deps: N/A
Packages
Installation
Install orafce
via the pig
CLI tool:
Install orafce
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["orafce"]}' # -l <cls>
Install orafce
RPM from YUM repo directly:
dnf install orafce_17*;
dnf install orafce_16*;
dnf install orafce_15*;
dnf install orafce_14*;
dnf install orafce_13*;
Install orafce
DEB from APT repo directly:
apt install postgresql-17-orafce;
apt install postgresql-16-orafce;
apt install postgresql-15-orafce;
apt install postgresql-14-orafce;
apt install postgresql-13-orafce;
Enable orafce
extension on PostgreSQL cluster:
2 - pgtt
Extension to add Global Temporary Tables feature to PostgreSQL
Overview
PGDG 1st Party Extension: pgtt
: Extension to add Global Temporary Tables feature to PostgreSQL
- Latest Version: 4.0.0
- Postgres Support:
17
,16
,15
,14
,13
- Need Load: Shared library do not need explicit loading
- Need DDL: Need
CREATE EXTENSION
DDL
- Relocatable: Unknown
- Trusted: Untrusted, Require Superuser to Create
- Schemas: N/A
- Requires: N/A
RPM / DEB
- RPM Repo: PGDG
- RPM Name:
pgtt_$v*
- RPM Ver :
4.0.0
- RPM Deps: N/A
- DEB Repo: PGDG
- DEB Name:
postgresql-$v-pgtt
- DEB Ver :
4.0.0
- DEB Deps: N/A
Packages
Installation
Install pgtt
via the pig
CLI tool:
Install pgtt
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pgtt"]}' # -l <cls>
Install pgtt
RPM from YUM repo directly:
dnf install pgtt_17*;
dnf install pgtt_16*;
dnf install pgtt_15*;
dnf install pgtt_14*;
dnf install pgtt_13*;
Install pgtt
DEB from APT repo directly:
apt install postgresql-17-pgtt;
apt install postgresql-16-pgtt;
apt install postgresql-15-pgtt;
apt install postgresql-14-pgtt;
apt install postgresql-13-pgtt;
Enable pgtt
extension on PostgreSQL cluster:
3 - session_variable
Registration and manipulation of session variables and constants
Overview
PIGSTY 3rd Party Extension: session_variable
: Registration and manipulation of session variables and constants
- Latest Version: 3.4
- Postgres Support:
17
,16
,15
,14
,13
- Need Load: Shared library do not need explicit loading
- Need DDL: Need
CREATE EXTENSION
DDL
- Relocatable: Can not install to arbitrary schema
- Trusted: Unknown
- Schemas: N/A
- Requires: N/A
RPM / DEB
- RPM Repo: PIGSTY
- RPM Name:
session_variable_$v*
- RPM Ver :
3.4
- RPM Deps: N/A
- DEB Repo: PIGSTY
- DEB Name:
postgresql-$v-session-variable
- DEB Ver :
3.4
- DEB Deps: N/A
Packages
Installation
Install session_variable
via the pig
CLI tool:
pig ext install session_variable
Install session_variable
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["session_variable"]}' # -l <cls>
Install session_variable
RPM from YUM repo directly:
dnf install session_variable_17*;
dnf install session_variable_16*;
dnf install session_variable_15*;
dnf install session_variable_14*;
dnf install session_variable_13*;
Install session_variable
DEB from APT repo directly:
apt install postgresql-17-session-variable;
apt install postgresql-16-session-variable;
apt install postgresql-15-session-variable;
apt install postgresql-14-session-variable;
apt install postgresql-13-session-variable;
Enable session_variable
extension on PostgreSQL cluster:
CREATE EXTENSION session_variable;
4 - pg_statement_rollback
Server side rollback at statement level for PostgreSQL like Oracle or DB2
Overview
MIXED 3rd Party Extension: pg_statement_rollback
: Server side rollback at statement level for PostgreSQL like Oracle or DB2
- Latest Version: 1.4
- Postgres Support:
17
,16
,15
,14
,13
- Need Load: Explicit Loading Required
- Need DDL: Dd not need
CREATE EXTENSION
DDL
- Relocatable: Unknown
- Trusted: Untrusted, Require Superuser to Create
- Schemas: N/A
- Requires: N/A
RPM / DEB
- RPM Repo: PGDG
- RPM Name:
pg_statement_rollback_$v*
- RPM Ver :
1.4
- RPM Deps: N/A
- DEB Repo: PIGSTY
- DEB Name:
postgresql-$v-pg-statement-rollback
- DEB Ver :
1.4
- DEB Deps: N/A
Packages
Installation
Install pg_statement_rollback
via the pig
CLI tool:
pig ext install pg_statement_rollback
Install pg_statement_rollback
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_statement_rollback"]}' # -l <cls>
Install pg_statement_rollback
RPM from YUM repo directly:
dnf install pg_statement_rollback_17*;
dnf install pg_statement_rollback_16*;
dnf install pg_statement_rollback_15*;
dnf install pg_statement_rollback_14*;
dnf install pg_statement_rollback_13*;
Install pg_statement_rollback
DEB from APT repo directly:
apt install postgresql-17-pg-statement-rollback;
apt install postgresql-16-pg-statement-rollback;
apt install postgresql-15-pg-statement-rollback;
apt install postgresql-14-pg-statement-rollback;
apt install postgresql-13-pg-statement-rollback;
Extension pg_statement_rollback
has to be added to shared_preload_libraries
shared_preload_libraries = 'pg_statement_rollback'; # add to pg cluster config
Extension %s
does not need CREATE EXTENSION
command
5 - pg_dbms_metadata
Extension to add Oracle DBMS_METADATA compatibility to PostgreSQL
Overview
PGDG 1st Party Extension: pg_dbms_metadata
: Extension to add Oracle DBMS_METADATA compatibility to PostgreSQL
- Latest Version: 1.0.0
- Postgres Support:
17
,16
,15
,14
,13
- Need Load: Shared library do not need explicit loading
- Need DDL: Need
CREATE EXTENSION
DDL
- Relocatable: Unknown
- Trusted: Untrusted, Require Superuser to Create
- Schemas: N/A
- Requires: N/A
RPM / DEB
- RPM Repo: PGDG
- RPM Name:
pg_dbms_metadata_$v
- RPM Ver :
1.0.0
- RPM Deps: N/A
- DEB Repo: None
- DEB Name:
N/A
- DEB Ver : N/A
- DEB Deps: N/A
Packages
Installation
Install pg_dbms_metadata
via the pig
CLI tool:
pig ext install pg_dbms_metadata
Install pg_dbms_metadata
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_dbms_metadata"]}' # -l <cls>
Install pg_dbms_metadata
RPM from YUM repo directly:
dnf install pg_dbms_metadata_17;
dnf install pg_dbms_metadata_16;
dnf install pg_dbms_metadata_15;
dnf install pg_dbms_metadata_14;
dnf install pg_dbms_metadata_13;
Enable pg_dbms_metadata
extension on PostgreSQL cluster:
CREATE EXTENSION pg_dbms_metadata;
6 - pg_dbms_lock
Extension to add Oracle DBMS_LOCK full compatibility to PostgreSQL
Overview
PGDG 1st Party Extension: pg_dbms_lock
: Extension to add Oracle DBMS_LOCK full compatibility to PostgreSQL
- Latest Version: 1.0.0
- Postgres Support:
17
,16
,15
,14
,13
- Need Load: Shared library do not need explicit loading
- Need DDL: Need
CREATE EXTENSION
DDL
- Relocatable: Unknown
- Trusted: Untrusted, Require Superuser to Create
- Schemas: N/A
- Requires: N/A
RPM / DEB
- RPM Repo: PGDG
- RPM Name:
pg_dbms_lock_$v
- RPM Ver :
1.0.0
- RPM Deps: N/A
- DEB Repo: None
- DEB Name:
N/A
- DEB Ver : N/A
- DEB Deps: N/A
Packages
Installation
Install pg_dbms_lock
via the pig
CLI tool:
pig ext install pg_dbms_lock
Install pg_dbms_lock
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_dbms_lock"]}' # -l <cls>
Install pg_dbms_lock
RPM from YUM repo directly:
dnf install pg_dbms_lock_17;
dnf install pg_dbms_lock_16;
dnf install pg_dbms_lock_15;
dnf install pg_dbms_lock_14;
dnf install pg_dbms_lock_13;
Enable pg_dbms_lock
extension on PostgreSQL cluster:
CREATE EXTENSION pg_dbms_lock;
7 - pg_dbms_job
Extension to add Oracle DBMS_JOB full compatibility to PostgreSQL
Overview
PGDG 1st Party Extension: pg_dbms_job
: Extension to add Oracle DBMS_JOB full compatibility to PostgreSQL
- Latest Version: 1.5.0
- Postgres Support:
17
,16
,15
,14
,13
- Need Load: Shared library do not need explicit loading
- Need DDL: Need
CREATE EXTENSION
DDL
- Relocatable: Unknown
- Trusted: Untrusted, Require Superuser to Create
- Schemas: N/A
- Requires: N/A
RPM / DEB
- RPM Repo: PGDG
- RPM Name:
pg_dbms_job_$v
- RPM Ver :
1.5.0
- RPM Deps: N/A
- DEB Repo: None
- DEB Name:
N/A
- DEB Ver : N/A
- DEB Deps: N/A
Packages
Installation
Install pg_dbms_job
via the pig
CLI tool:
pig ext install pg_dbms_job
Install pg_dbms_job
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pg_dbms_job"]}' # -l <cls>
Install pg_dbms_job
RPM from YUM repo directly:
dnf install pg_dbms_job_17;
dnf install pg_dbms_job_16;
dnf install pg_dbms_job_15;
dnf install pg_dbms_job_14;
dnf install pg_dbms_job_13;
Enable pg_dbms_job
extension on PostgreSQL cluster:
CREATE EXTENSION pg_dbms_job;
8 - babelfishpg_common
SQL Server Transact SQL Datatype Support
Overview
Extension: babelfishpg_common
: SQL Server Transact SQL Datatype Support
- Latest Version: 3.3.3
- Postgres Support:
15
- Need Load: Shared library do not need explicit loading
- Need DDL: Need
CREATE EXTENSION
DDL
- Relocatable: Can not install to arbitrary schema
- Trusted: Untrusted, Require Superuser to Create
- Schemas: N/A
- Requires: N/A
RPM / DEB
- RPM Repo: WILTON
- RPM Name:
babelfishpg-common*
- RPM Ver :
3.3.3
- RPM Deps: N/A
- DEB Repo: WILTON
- DEB Name:
babelfishpg-common
- DEB Ver :
3.3.3
- DEB Deps: N/A
Packages
OS |
Arch |
PG17 |
PG16 |
PG15 |
PG14 |
PG13 |
el8 |
x86_64 |
|
|
|
|
|
el8 |
aarch64 |
|
|
|
|
|
el9 |
x86_64 |
|
|
|
|
|
el9 |
aarch64 |
|
|
|
|
|
d12 |
x86_64 |
|
|
|
|
|
d12 |
aarch64 |
|
|
|
|
|
u22 |
x86_64 |
|
|
|
|
|
u22 |
aarch64 |
|
|
|
|
|
u24 |
x86_64 |
|
|
|
|
|
u24 |
aarch64 |
|
|
|
|
|
Installation
Install babelfishpg_common
via the pig
CLI tool:
pig ext install babelfishpg_common
Install babelfishpg_common
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["babelfishpg_common"]}' # -l <cls>
Install babelfishpg_common
RPM from YUM repo directly:
dnf install babelfishpg-common*;
Install babelfishpg_common
DEB from APT repo directly:
apt install babelfishpg-common;
Enable babelfishpg_common
extension on PostgreSQL cluster:
CREATE EXTENSION babelfishpg_common;
9 - babelfishpg_tsql
SQL Server Transact SQL compatibility
Overview
Extension: babelfishpg_tsql
: SQL Server Transact SQL compatibility
- Latest Version: 3.3.1
- Postgres Support:
15
- Need Load: Explicit Loading Required
- Need DDL: Need
CREATE EXTENSION
DDL
- Relocatable: Can not install to arbitrary schema
- Trusted: Untrusted, Require Superuser to Create
- Schemas: N/A
- Requires:
babelfishpg_common
, uuid-ossp
RPM / DEB
- RPM Repo: WILTON
- RPM Name:
babelfishpg-tsql*
- RPM Ver :
3.3.1
- RPM Deps:
babelfishpg-common
, libantlr4-runtime
- DEB Repo: WILTON
- DEB Name:
babelfishpg-tsql
- DEB Ver :
3.3.1
- DEB Deps:
babelfishpg-common
, libantlr4-runtime4.9.3
Packages
OS |
Arch |
PG17 |
PG16 |
PG15 |
PG14 |
PG13 |
el8 |
x86_64 |
|
|
|
|
|
el8 |
aarch64 |
|
|
|
|
|
el9 |
x86_64 |
|
|
|
|
|
el9 |
aarch64 |
|
|
|
|
|
d12 |
x86_64 |
|
|
|
|
|
d12 |
aarch64 |
|
|
|
|
|
u22 |
x86_64 |
|
|
|
|
|
u22 |
aarch64 |
|
|
|
|
|
u24 |
x86_64 |
|
|
|
|
|
u24 |
aarch64 |
|
|
|
|
|
Installation
Install babelfishpg_tsql
via the pig
CLI tool:
pig ext install babelfishpg_tsql
Install babelfishpg_tsql
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["babelfishpg_tsql"]}' # -l <cls>
Install babelfishpg_tsql
RPM from YUM repo directly:
dnf install babelfishpg-tsql*;
Install babelfishpg_tsql
DEB from APT repo directly:
apt install babelfishpg-tsql;
Extension babelfishpg_tsql
has to be added to shared_preload_libraries
shared_preload_libraries = 'babelfishpg_tsql'; # add to pg cluster config
Enable babelfishpg_tsql
extension on PostgreSQL cluster:
CREATE EXTENSION babelfishpg_tsql CASCADE;
10 - babelfishpg_tds
SQL Server TDS protocol extension
Overview
Extension: babelfishpg_tds
: SQL Server TDS protocol extension
- Latest Version: 1.0.0
- Postgres Support:
15
- Need Load: Shared library do not need explicit loading
- Need DDL: Need
CREATE EXTENSION
DDL
- Relocatable: Can not install to arbitrary schema
- Trusted: Untrusted, Require Superuser to Create
- Schemas: N/A
- Requires:
babelfishpg_tsql
RPM / DEB
- RPM Repo: WILTON
- RPM Name:
babelfishpg-tds*
- RPM Ver :
1.0.0
- RPM Deps: N/A
- DEB Repo: WILTON
- DEB Name:
babelfishpg-tds
- DEB Ver :
1.0.0
- DEB Deps: N/A
Packages
OS |
Arch |
PG17 |
PG16 |
PG15 |
PG14 |
PG13 |
el8 |
x86_64 |
|
|
|
|
|
el8 |
aarch64 |
|
|
|
|
|
el9 |
x86_64 |
|
|
|
|
|
el9 |
aarch64 |
|
|
|
|
|
d12 |
x86_64 |
|
|
|
|
|
d12 |
aarch64 |
|
|
|
|
|
u22 |
x86_64 |
|
|
|
|
|
u22 |
aarch64 |
|
|
|
|
|
u24 |
x86_64 |
|
|
|
|
|
u24 |
aarch64 |
|
|
|
|
|
Installation
Install babelfishpg_tds
via the pig
CLI tool:
pig ext install babelfishpg_tds
Install babelfishpg_tds
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["babelfishpg_tds"]}' # -l <cls>
Install babelfishpg_tds
RPM from YUM repo directly:
dnf install babelfishpg-tds*;
Install babelfishpg_tds
DEB from APT repo directly:
apt install babelfishpg-tds;
Enable babelfishpg_tds
extension on PostgreSQL cluster:
CREATE EXTENSION babelfishpg_tds CASCADE;
Usage
Install go-sqlcmd
:
curl -LO https://github.com/microsoft/go-sqlcmd/releases/download/v1.4.0/sqlcmd-v1.4.0-linux-amd64.tar.bz2
tar xjvf sqlcmd-v1.4.0-linux-amd64.tar.bz2
sudo mv sqlcmd* /usr/bin/
Try go-sqlcmd
$ sqlcmd -S 10.10.10.10,1433 -U dbuser_mssql -P DBUser.MSSQL
1> select @@version
2> go
version
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Babelfish for PostgreSQL with SQL Server Compatibility - 12.0.2000.8
Oct 22 2023 17:48:32
Copyright (c) Amazon Web Services
PostgreSQL 15.4 (EL 1:15.4.wiltondb3.3_2-2.el8) on x86_64-redhat-linux-gnu (Babelfish 3.3.0)
(1 row affected)
Access pigsty exposed primary/replica service port
sqlcmd -S 10.10.10.11,5433 -U dbuser_mssql -P DBUser.MSSQL
sqlcmd -S 10.10.10.11,5434 -U dbuser_mssql -P DBUser.MSSQL
11 - babelfishpg_money
SQL Server Money Data Type
Overview
Extension: babelfishpg_money
: SQL Server Money Data Type
- Latest Version: 1.1.0
- Postgres Support:
15
- Need Load: Shared library do not need explicit loading
- Need DDL: Need
CREATE EXTENSION
DDL
- Relocatable: Can be installed into other schemas
- Trusted: Trusted, Can be created by user with
CREATE
Privilege
- Schemas: N/A
- Requires: N/A
RPM / DEB
- RPM Repo: WILTON
- RPM Name:
babelfishpg-money*
- RPM Ver :
1.1.0
- RPM Deps: N/A
- DEB Repo: WILTON
- DEB Name:
babelfishpg-money
- DEB Ver :
1.1.0
- DEB Deps: N/A
Packages
OS |
Arch |
PG17 |
PG16 |
PG15 |
PG14 |
PG13 |
el8 |
x86_64 |
|
|
|
|
|
el8 |
aarch64 |
|
|
|
|
|
el9 |
x86_64 |
|
|
|
|
|
el9 |
aarch64 |
|
|
|
|
|
d12 |
x86_64 |
|
|
|
|
|
d12 |
aarch64 |
|
|
|
|
|
u22 |
x86_64 |
|
|
|
|
|
u22 |
aarch64 |
|
|
|
|
|
u24 |
x86_64 |
|
|
|
|
|
u24 |
aarch64 |
|
|
|
|
|
Installation
Install babelfishpg_money
via the pig
CLI tool:
pig ext install babelfishpg_money
Install babelfishpg_money
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["babelfishpg_money"]}' # -l <cls>
Install babelfishpg_money
RPM from YUM repo directly:
dnf install babelfishpg-money*;
Install babelfishpg_money
DEB from APT repo directly:
apt install babelfishpg-money;
Enable babelfishpg_money
extension on PostgreSQL cluster:
CREATE EXTENSION babelfishpg_money;
12 - pgmemcache
memcached interface
Overview
PGDG 1st Party Extension: pgmemcache
: memcached interface
- Latest Version: 2.3.0
- Postgres Support:
17
,16
,15
,14
,13
- Need Load: Shared library do not need explicit loading
- Need DDL: Need
CREATE EXTENSION
DDL
- Relocatable: Can not install to arbitrary schema
- Trusted: Untrusted, Require Superuser to Create
- Schemas: N/A
- Requires: N/A
RPM / DEB
- RPM Repo: PGDG
- RPM Name:
pgmemcache_$v*
- RPM Ver :
2.3.0
- RPM Deps: N/A
- DEB Repo: PGDG
- DEB Name:
postgresql-$v-pgmemcache
- DEB Ver :
2.3.0
- DEB Deps: N/A
Packages
Installation
Install pgmemcache
via the pig
CLI tool:
pig ext install pgmemcache
Install pgmemcache
via Pigsty playbook:
./pgsql.yml -t pg_extension -e '{"pg_extensions": ["pgmemcache"]}' # -l <cls>
Install pgmemcache
RPM from YUM repo directly:
dnf install pgmemcache_17*;
dnf install pgmemcache_16*;
dnf install pgmemcache_15*;
Install pgmemcache
DEB from APT repo directly:
apt install postgresql-17-pgmemcache;
apt install postgresql-16-pgmemcache;
apt install postgresql-15-pgmemcache;
apt install postgresql-14-pgmemcache;
apt install postgresql-13-pgmemcache;
Enable pgmemcache
extension on PostgreSQL cluster:
CREATE EXTENSION pgmemcache;