PHPackages                             keboola/storage-driver-teradata - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. keboola/storage-driver-teradata

ActiveProject[Database &amp; ORM](/categories/database)

keboola/storage-driver-teradata
===============================

Keboola teradata driver

v5.0.0(2y ago)06.1k[2 PRs](https://github.com/keboola/php-storage-driver-teradata/pulls)MITPHPPHP ^8.1

Since Feb 23Pushed 1y ago7 watchersCompare

[ Source](https://github.com/keboola/php-storage-driver-teradata)[ Packagist](https://packagist.org/packages/keboola/storage-driver-teradata)[ RSS](/packages/keboola-storage-driver-teradata/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (13)Versions (47)Used By (0)

Keboola Storage Driver Teradata
===============================

[](#keboola-storage-driver-teradata)

Keboola high level storage backend driver for Teradata

Setup Teradata
--------------

[](#setup-teradata)

```
-- set session database of your choice
SET SESSION DATABASE ;

--There are two options how to preceded

-- Option 1 (preferred): Create user and run all tests with it
CREATE USER _driver_teradata FROM
AS PERMANENT = 1e9,
SPOOL = 1e9
PASSWORD = PassW0rd#, -- set your password :)
DEFAULT DATABASE=_driver_teradata;

-- grant rights
GRANT CREATE DATABASE, DROP DATABASE, CREATE USER, DROP USER ON _driver_teradata TO _driver_teradata;
GRANT CREATE ROLE, DROP ROLE TO _driver_teradata WITH GRANT OPTION;
GRANT EXECUTE ON SPECIFIC FUNCTION SYSLIB.AbortSessions TO _driver_teradata WITH GRANT OPTION;

-- Option 2: Create database and use you current user to run tests
-- you use has to have CREATE DATABASE, DROP DATABASE, CREATE USER, DROP USER, CREATE ROLE, DROP ROLE grants

-- create root database for driver, use memory allocation of you choice
CREATE DATABASE _driver_teradata FROM
    AS PERMANENT = 1e9,
       SPOOL = 1e9;
```

setup envs:

```
TERADATA_HOST=
TERADATA_USERNAME=
TERADATA_PASSWORD=
TERADATA_PORT=1025
TERADATA_ROOT_DATABASE=_driver_teradata

```

*Mac: for local Teradata server in VirtualBox set HOST to `host.docker.internal`.*

Setup AWS credentials
---------------------

[](#setup-aws-credentials)

You access key must have access to `keboola-drivers` bucket to download Teradata odbc driver and utilities

```
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
# bucket is needed for import/export tests
AWS_S3_BUCKET=
AWS_REGION=eu-central-1

```

Build docker images
-------------------

[](#build-docker-images)

```
docker-compose build
```

Xdebug
------

[](#xdebug)

To run with xdebug use `dev-xdebug` container instead of `dev`

Generate protobuf code
----------------------

[](#generate-protobuf-code)

```
docker-compose run --rm dev composer protobuf
```

### Generate protobuf documentation

[](#generate-protobuf-documentation)

Documentation will be placed in `docs` folder. Check [documentation](https://github.com/pseudomuto/protoc-gen-doc/blob/master/README.md) for more options.

```
docker run --rm \
  -v $(pwd)/docs:/out \
  -v $(pwd)/proto:/protos \
  pseudomuto/protoc-gen-doc
```

Tests
-----

[](#tests)

Run tests with following command.

```
docker-compose run --rm dev composer tests
```

To run separate tests first generate testing protobuf classes

```
docker-compose run --rm dev composer protobufTests
```

And than run phpunit

```
docker-compose run --rm dev composer phpunit -- --filter=TeradataDriverClientTest
```

To disable retry copy `phpunit-retry.xml.dist`

```
cp phpunit-retry.xml.dist phpunit-retry.xml
```

### Debug queries

[](#debug-queries)

To debug queries executed during test set DEBUG=1 env variable

Code quality check
------------------

[](#code-quality-check)

```
#run all bellow but not tests
docker-compose run --rm dev composer check

#phplint
docker-compose run --rm dev composer phplint

#phpcs
docker-compose run --rm dev composer phpcs

#phpcbf
docker-compose run --rm dev composer phpcbf

#phpstan
docker-compose run --rm dev composer phpstan
```

Full CI workflow
----------------

[](#full-ci-workflow)

This command will run all checks and run tests

```
docker-compose run --rm dev composer ci
```

License
-------

[](#license)

MIT licensed, see [LICENSE](./LICENSE) file.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance27

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~16 days

Recently: every ~56 days

Total

36

Last Release

1008d ago

Major Versions

v0.9.1 → v1.0.02022-10-11

v1.14.0 → v2.0.02023-04-04

v2.0.0 → v3.0.02023-09-06

v3.0.0 → v4.0.02023-09-11

v4.0.0 → v5.0.02023-09-29

PHP version history (2 changes)v0.1PHP &gt;=7.4

v2.0.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/101dbf2551a0709ddab522f97669f13a2c4cc2d0a1e8d009f3af6ba80accb1a9?d=identicon)[Keboola](/maintainers/Keboola)

---

Top Contributors

[![martinjunger](https://avatars.githubusercontent.com/u/84506613?v=4)](https://github.com/martinjunger "martinjunger (135 commits)")[![zajca](https://avatars.githubusercontent.com/u/180148?v=4)](https://github.com/zajca "zajca (127 commits)")[![jirkasemmler](https://avatars.githubusercontent.com/u/13363655?v=4)](https://github.com/jirkasemmler "jirkasemmler (71 commits)")[![romanbracinik](https://avatars.githubusercontent.com/u/6448364?v=4)](https://github.com/romanbracinik "romanbracinik (17 commits)")[![ujovlado](https://avatars.githubusercontent.com/u/419849?v=4)](https://github.com/ujovlado "ujovlado (1 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/keboola-storage-driver-teradata/health.svg)

```
[![Health](https://phpackages.com/badges/keboola-storage-driver-teradata/health.svg)](https://phpackages.com/packages/keboola-storage-driver-teradata)
```

###  Alternatives

[google/gax

Google API Core for PHP

267116.3M567](/packages/google-gax)[google/common-protos

Google API Common Protos for PHP

175117.7M73](/packages/google-common-protos)[flow-php/flow

PHP ETL - Extract Transform Load - Data processing framework

85036.3k](/packages/flow-php-flow)[googleads/google-ads-php

Google Ads API client for PHP

3508.5M12](/packages/googleads-google-ads-php)[aliyun/aliyun-tablestore-sdk-php

Aliyun Tablestore SDK for PHP

31102.9k3](/packages/aliyun-aliyun-tablestore-sdk-php)[clarifai/clarifai-php-grpc

Clarifai PHP gRPC client

1229.6k](/packages/clarifai-clarifai-php-grpc)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
