cds-pg
A PostgreSQLPostgreSQLA relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL. adapter for SAP CDS, built by the SAP Mentors community, which gave CAP a Postgres persistence option years before @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, cap shipped.
Gave CAP a Postgres persistence option years before an official one existed, and carried most community Postgres deployments until @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, cap shipped.
Facts
Where it sits
Who is behind it
In the atlas: maintains 17, contributes to 59, wrote 2@gregorwolfSAP Mentors & FriendsSAP Mentors & FriendsMaintains this
In the atlas: maintains 3@sapmentorsVolker BuzekVolker BuzekMaintains this
In the atlas: maintains 7, contributes to 53, wrote 2@vobumaintainersMd. Ashraful AlamContributes to this
In the atlas: contributes to 1@ajewelbdAustin KloskeContributes to this
In the atlas: contributes to 1@austinkloske22David SooterContributes to this
In the atlas: contributes to 9@d-sooterIwona HahnContributes to this
In the atlas: contributes to 7@iwonahahncyrilContributes to this
In the atlas: contributes to 1@krobenLars HvamContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1@larshpMike ZaschkaContributes to this
In the atlas: maintains 6, contributes to 9, wrote 12@mikezaschkarajbhuva1Contributes to this
In the atlas: contributes to 3@rajbhuva1Rajdeep BhuvaContributes to this
In the atlas: contributes to 1@rbhuvaRafael Augusto Leite YegrosContributes to this
In the atlas: contributes to 1@ryegros13 contributors
Before choosing this
Signals
RepositoryArchivedThe declared repository is archived
GitHub reports the repository as archived. The package may remain installable, but its source is no longer open for normal maintenance.
Conditions
LicenceSAP Developer License Agreement 3.2 CAP§ 1, 2, 3A cds-plugin is used with SAP CAP materials, or an artifact is explicitly identified as a CAP plugin or application.
- § 1 License. Productive customer applications are limited to SAP BTP or another SAP-licensed platform, and mass extraction to a non-SAP product is restricted except where solely required for SAP interoperability.
- § 2 Intellectual Property. The agreement retains SAP's rights in the covered materials and limits making APIs, tools or software available to third parties, while preserving ownership of customer applications subject to SAP's underlying rights.
- § 3 Artificial Intelligence Training. The agreement prohibits use of the covered materials and customer applications for training artificial-intelligence models or systems.
Also, from Database connectors§ 1: The connector itself does not decide the licence boundary. Section 1 makes the destination and purpose of extraction relevant, including the scoped exception for interoperability with an SAP product.
What it declares
Every artifact
- Type
- CDS plugin
- Origin
- Independently maintained
- Runtime
- Node.js
As a CDS plugin
- Distributed through
- npm
Connections
PostgreSQL database service for CAP
Connecting a data model and its queries to a database
Managed PostgreSQL from the hyperscaler via a BTP service binding
A relational database. For CAP it is the production database when the answer is not HANA, reached through an adapter that translates CDS queries into its SQL.
Download
Install
npm add cds-pgDerived from the package name. No recipe recorded; the README has the configuration.
Learn more
- Run and Deploy SAP CAP (Java) with PostgreSQL using Official Database Adapter @cap-js/postgresRun and Deploy SAP CAP (Java) with PostgreSQL using Official Database Adapter @cap-js/postgresThe post that records a handover. The author's earlier writing relied on the community projects cds-pg and cds-dbm; this one states that both were deprecated in favour of the official PostgreSQL support arriving with @sap/cds 7, and rewrites the path around @cap-js/postgres. For CAP Java it takes a different route to the initial schema.sql than the Node.js case, and it is candid that automatic schema deployment is convenient but not always what you want. Dated evidence for why two artifacts here went quiet.shanthakumar_krishnaswamy, published 2023-08-02shanthakumar_krishnaswamy, SAP Community
- Run and Deploy CAP with PostgreSQL on SAP BTP Cloud Foundry (Node.js)Run and Deploy CAP with PostgreSQL on SAP BTP Cloud Foundry (Node.js)The deployment half of the pair, two weeks after the local one, and superseded the same way: it carries the same banner directing readers to @cap-js/postgres and the official documentation. The two together are the community PostgreSQL path as it stood before the core absorbed it.published 2020-11-30Mike Zaschka, SAP Community
- Getting started with CAP on PostgreSQL (Node.js)Getting started with CAP on PostgreSQL (Node.js)Running CAP on PostgreSQL locally in 2020, when doing so meant the community packages cds-pg and cds-dbm. It now opens with a banner the author added later: @sap/cds 7.0.0 has native PostgreSQL support, use @cap-js/postgres instead, with a pointer to a step-by-step guide for it. Worth having for that banner as much as for the content — a post that tells you not to follow it is a dated fact about where the answer moved.published 2020-11-16Mike Zaschka, SAP Community
1 more
- PostgreSQL persistence adapter for CAP (Node.js)PostgreSQL persistence adapter for CAP (Node.js)The contradiction the adapter was built to resolve, stated plainly in 2020: CAP's core is open, non-intrusive and platform-agnostic, which is what would let it run outside SAP's world — except that HANA was the only officially supported production persistence and HANA exists only inside BTP. cds-pg is the answer to that, and this is the post that argues for it. Read now as the front end of a story whose other end is the 2023 post recording cds-pg's deprecation in favour of @cap-js/postgres.published 2020-08-20Volker Buzek, SAP Community
Where it sits in your app
Download
README
quoted from sapmentors/cds-pg under MIT, read⚠️
this package is in 🌇-mode in favor of the official CAP PostgreSQL adapter
thanks to all the contributors for sailing along ⛵️ - hope to see you on board at @cap-js/postgres!
⚠️
cds-pg - PostgreSQL adapter for SAP CDS (CAP)
First a big thank you to our contributors:
This node module provides an adapter to the PostgreSQL database
For a short introduction on the background of this project you can check out a short video that has been captured as part of the SAP devtoberfest.
Current status
Please use @cap-js/postgres!
**cds-pg is ready to be used!
Still, there's some gaps left to fill - note the list below and please see CONTRIBUTING.md for how to contribute additional capabilities!
Also checkout the following blog posts on how to get started using cds-pg in your local development environment and on SAP Business Technology Platform (BTP), Cloud Foundry:
Usage in your CAP project
Please use @cap-js/postgres!
Add this package to your SAP Cloud Application Programming Model project by running:
npm install cds-pg
Then add this configuration to the cds section of your `package.json:
"cds": {
"requires": {
"db": {
"kind": "postgres"
},
"postgres": {
"dialect": "plain", // <- for cds >= 5.1
"impl": "cds-pg",
"model": [
"srv"
]
}
}
}
For local development you can provide the credentials in the file default-env.json in the root folder of your project:
{
"VCAP_SERVICES": {
"postgres": [
{
"name": "postgres",
"label": "postgres",
"tags": ["plain", "database"],
"credentials": {
"host": "localhost",
"port": "5432",
"database": "dbname",
"user": "postgres",
"password": "postgres",
"schema":"public"
}
}
]
}
}
CDS deployment
cds-pg contains the database adapter to translate the incoming requests to PostgreSQL during runtime, but also includes a quick and dirty command to deploy the current data model to the PostgreSQL database specified in default-env.json. Initial data will also be filled from the provided .csv files following the approach described in Providing Initial Data. Be aware that the existing tables and views are deleted and then re-created according the CDS model, so this should not be used in production environments
npx cds-pg deploy srv --to db
For a more sophisticated approach, please check out cds-dbm at https://github.com/mikezaschka/c~s-dbm, which offers an advanced deployment model including delta handling of data and models!
Please also read the following blogposts for a detailed description, on how cds-dbm can be used in combintation with cds-pg:
History
Others providing
Compare all 26 on the Database connectors page →- @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, capPostgreSQL database service for CAP
- SAP ASE ServiceSAP ASE ServiceSAP ASE database systems and tenant databases on BTP with SAP running the platform operations, used from Java applications on BTP or on premise over SQL, JPA and JDBC.sap official, btpManaged SAP ASE databases on BTP for Java applicationsfrom BTP/BAIP
- SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btpManaged SAP HANA database service on BTPfrom BTP/BAIP
- SAP HANA Service (SAP Regions) for SAP BTPSAP HANA Service (SAP Regions) for SAP BTPManaged SAP HANA 2.0 database systems in fixed sizes from 64 GB to 1 TB, in SAP's own regions, with tenant databases bound to applications on SAP BTP.sap official, btpManaged SAP HANA 2.0 databases in fixed sizes on SAP BTPfrom BTP/BAIP
- PostgreSQL on SAP BTP, hyperscaler optionPostgreSQL on SAP BTP, hyperscaler optionA managed PostgreSQL from the underlying hyperscaler — AWS, Azure, Google Cloud or Alicloud — consumed through a BTP service binding.sap official, btpManaged PostgreSQL from the hyperscaler via a BTP service bindingfrom BTP/BAIP
- com.sap.cds:cds-feature-hanacom.sap.cds:cds-feature-hanaThe CAP Java feature that wires a Maven application to SAP HANA Cloud, the production default among CAP's supported databases.sap official, capSAP HANA Cloud datasource for CAP Java applicationsfrom CAP
- com.sap.cds:cds-feature-jdbccom.sap.cds:cds-feature-jdbcConnects the CAP Java runtime to JDBC databases through the CDS4j JDBC runtime: H2 and SQLite, which capire names for local development and CI tests rather than enterprise use.sap official, capJDBC runtime for H2 and SQLite in CAP Javafrom CAP
- com.sap.cds:cds-feature-postgresqlcom.sap.cds:cds-feature-postgresqlThe CAP Java feature that wires a Maven application to PostgreSQL as its datasource beside SAP HANA, with limitations capire lists: schema evolution first, and no multitenancy or extensibility yet.sap official, capPostgreSQL datasource for CAP Java applicationsfrom CAP
- com.sap.cds:cds-services-bomcom.sap.cds:cds-services-bomThe Maven bill of materials for CAP Java, pinning every com.sap.cds module in a release, from the API and core runtime to the Spring Boot starters and the CQN engine, to the same version.sap official, capMaven bill of materials pinning CAP Java module versionsfrom CAP
- @cap-js/db-service@cap-js/db-serviceThe base every CAP database service is built on: the shared query translation and pooling that SQLite, PostgreSQL and HANA specialise rather than reimplement.sap official, capBase service shared by CAP's SQLite, PostgreSQL and HANA servicesfrom CAP
- @cap-js/hana@cap-js/hanaThe HANA database service — the production default, on the same streamlined architecture as the SQLite and PostgreSQL services.sap official, capSAP HANA database service for CAPfrom CAP
- @cap-js/postgres@cap-js/postgresThe PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three.sap official, capPostgreSQL database service for CAPfrom CAP
- @cap-js/sqlite@cap-js/sqliteThe SQLite service, in memory during the inner loop — which is why a CAP project runs before anyone has provisioned a database.sap official, capSQLite database service for CAP, in memory during developmentfrom CAP
- cap-postgres-btp-connectivitycap-postgres-btp-connectivityConnects a CAP Node.js application to a PostgreSQL database that is not publicly reachable, tunnelling through BTP Connectivity and the Cloud Connector.independent, capTunnels CAP Node.js to a private PostgreSQL via Cloud Connectorfrom CAP
- cds-mongodbcds-mongodbMongoDB as a native CAP database service, through Mongoose — CQN reads and writes, managed associations as ObjectId references, $expand resolved by populate, and cds deploy --to mongoose.independent, capMongoDB as a CAP database service through Mongoosefrom CAP
- @cds-pgroll/postgres@cds-pgroll/postgresThe destructive half of PostgreSQL schema evolution — DROP and RENAME, which CAP's own schema_evolution: alter will not perform — driven from the command line beside @cap-js/postgres.independent, capCLI for DROP and RENAME schema changes beside @cap-js/postgresfrom CAP
- hdbhdbSAP's HANA driver for Node.js, written entirely in JavaScript so installing it pulls in no native client, running SQL against SAP HANA and SAP HANA Cloud with streams and prepared statements.sap official, btpPure JavaScript SAP HANA driver for Node.jsfrom BTP/BAIP
- @neoimpulse/cap-js-restore-model-defined-types@neoimpulse/cap-js-restore-model-defined-typesA CAP plugin that casts values back to the types the CDS model declares after a READ, for the entities you name, where the database driver returned them as strings.independent, capCAP plugin casting read values back to CDS model typesfrom CAP
- @quadrio/cds-db2@quadrio/cds-db2A DB2 adapter for CDS, so a CAP model can be deployed to and served from DB2, last released July 2023 and still on npm while the repository it was published from has been deleted.independent, capDB2 adapter for CDSfrom CAP
- @sap/cds-hana@sap/cds-hanaThe SAP Cloud Application Programming Model's database adapter for SAP HANA, the package a CAP project adds to run its model on a SAP HANA database.sap official, capDatabase adapter for SAP HANA in CAPfrom CAP
- @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, capCAP Node.js runtimefrom CAP
- @sap/hana-client@sap/hana-clientSAP's own Node.js driver for SAP HANA: connect, run SQL and prepared statements, synchronously, through callbacks or as promises, over native client libraries npm installs per platform.sap official, btpSAP's Node.js driver for SAP HANAfrom BTP/BAIP
- SAP HANASAP HANASAP’s relational database platform, which stores application data and executes SQL and SQLScript in the database, available on-premise and as the managed service SAP HANA Cloud.sap official, btpSAP's relational database platform, on-premise and in HANA Cloudfrom BTP/BAIP
- SAP-samples/hana-hdbext-promisfied-exampleSAP-samples/hana-hdbext-promisfied-examplePromise-based wrappers around the SAP HANA client libraries for Node.js, Go and Python, replacing nested callbacks with a single async call.sap official, btpPromise-based wrappers around the SAP HANA client librariesfrom BTP/BAIP
- cap-snowflakecap-snowflakeA CAP database adapter for Snowflake with OData V4 support, which the maintainer marks as early development, so its contract is expected to move.independent, capCAP database adapter for Snowflake with OData V4 supportfrom CAP
- cds-mysqlcds-mysqlA MySQL and MariaDB database adapter for CAP that connects to a database instance and translates incoming CQL/CQN requests to it; the repository the package declares has been deleted.independent, capMySQL and MariaDB database adapter for CAPfrom CAP
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:sapmentors-cds-pg- JSON
- /artifacts/sapmentors-cds-pg.json
- MCP
- Connecting an agent