EnterpriseDB PostgreSQL Technical Support and Services Agreement

IMPORTANT - READ CAREFULLY

This EnterpriseDB Support and Services Agreement ("Agreement") is a legal document between you ("Customer") and EnterpriseDB Corporation, located at 34 Crosby Drive, Suite 201, Bedford, MA 01730  or one of its affiliated entities ("EnterpriseDB"). It is important that you read this document before using or purchasing Services or Support. By purchasing or using the Services or Support, Customer agrees to be bound by the terms of this Agreement. If Customer does not agree with the terms and conditions of this Agreement, Customer is not licensed to use the Services or Support, and Customer must cease all use of the Support and/or Services, as applicable. This Agreement is effective ("Effective Date") on the later of the start date (“Start Date”) designated on the applicable Order Form or the customer signature date (“Signature Date”) of such Order Form. Upon execution of an Order Form, this Agreement will govern the terms, conditions and restrictions of Customer’s purchase of additional Services and Support. Capitalized terms have the meanings set forth in the sections in which they are used and in Section 10 below.

1. Support. EnterpriseDB will provide Support as set forth in Schedule A for the purchased quantity of UOM of the Software listed on an Order Form. 

2. Consulting and Training Services. EnterpriseDB will provide the Services and Deliverables to Customer as outlined in a SOW that incorporates this Agreement. In addition, unless otherwise specified in a SOW, (i) Services will be performed during EnterpriseDB working days during the local hours of 9:00 AM until 6:00 PM, excluding one hour for lunch; (ii) hours beyond those identified in (i) shall be billed in minimum of one hour increments and at the then current billable rate; and (iii) all written and verbal communication shall be conducted in the English language.  Unless otherwise stated in an applicable SOW, all Services will be accepted upon delivery. If Customer cancels on-site Services or on-site training events with less than two (2) weeks’ notice, Customer will be charged for the originally scheduled Services plus any non-refundable travel expenses. If Customer reschedules on-site Services or on-site training events with less than 2 weeks’ notice, Customer will be charged for: (a) the originally scheduled Services or training; (b) any non-refundable travel expenses, and (c) the newly scheduled Services or training. The same cancellation or rescheduling policy applies for remote Services or training but with not less than one (1) week notice. If Services are not used by the Non-Utilization Forfeiture Date, any fees paid for such Services are forfeited.

3. Payment Terms. Customer agrees to pay EnterpriseDB the fees set forth in the applicable Order Form. Unless an Order Form states otherwise, Customer will pay all invoices within thirty (30) days from the date of invoice. Customer will also pay to EnterpriseDB an amount equal to any taxes arising from or relating to this Agreement, including without limitation, sales, service, use or value-added taxes, but excluding any taxes based solely on the net income of EnterpriseDB. If Customer is required under any applicable law or regulation to withhold or deduct any portion of the payments due to EnterpriseDB, then the sum payable to EnterpriseDB will be increased by the amount necessary so that EnterpriseDB receives an amount equal to the sum it would have received had Customer made no withholdings or deductions. Except as otherwise specifically set forth in this Agreement, fees are non-refundable upon payment. If Customer does not pay invoices when due, EnterpriseDB may charge interest at up to one percent (1%) per month on the unpaid balance. If Customer fails to make any payment to EnterpriseDB when due, EnterpriseDB may, at its sole discretion and without affecting its rights under this Agreement, cancel or suspend work on any pending Order Forms or suspend use of the Subscription. 

4. Confidential Information. Customer and EnterpriseDB agree to maintain the confidentiality of any proprietary information received by the other party during, or prior to entering into, this Agreement that a party should know is confidential or proprietary based on the circumstances surrounding the disclosure, including, without limitation, non-public technical, financial and business information ("Confidential Information") during the term of this Agreement and for a period of five (5) years after the termination of this Agreement; provided that to the extent the Confidential Information constitutes a trade secret(s) under law, the parties agree to protect such information for so long as it qualifies as a trade secret under applicable law. This section will not apply to: (a) any information that was in the public domain, due to no fault of receiving party, at or subsequent to the time such Confidential Information was communicated to the receiving party by the other party, (b) was rightfully in the receiving party's possession free of any obligation of confidence at or subsequent to the time such Confidential Information was communicated by the other party, or (c) was developed by the receiving party or its employees, contractors or agents independently of and without reference to any Confidential Information. A disclosure of any Confidential Information in response to a valid order by a court or other governmental body or as otherwise required by law will not be considered to be a breach of this Agreement or a waiver of confidentiality for other purposes; provided, however, that the receiving party will provide prompt advance written notice thereof to the disclosing party to enable the disclosing party to seek a protective order or otherwise prevent such disclosure. The receiving party shall not use the Confidential Information of the other party for any purpose except as necessary to fulfill its obligations and exercise its rights under this Agreement. The receiving party will protect the secrecy of and avoid disclosure and unauthorized use of the disclosing party's Confidential Information to the same degree that it takes to protect its own confidential information and in no event less than reasonable care. The receiving party shall not make Confidential Information available to any of its employees or consultants except those that have agreed to obligations of confidentiality at least as restrictive as those set forth herein and have a "need to know" such Confidential Information in order to further the purpose contained herein. The receiving party is liable for all violations of this Section 4 by its employees and consultants. Each party agrees to notify the other party in writing promptly upon discovery of any unauthorized access, disclosure, or use of the Confidential Information. Each party acknowledges that monetary damages may not be a sufficient remedy for unauthorized disclosure of any Confidential Information and that the other party may seek, without waiving any other rights or remedies and without posting any bond, injunctive or equitable relief.

 

5. Ownership. EnterpriseDB and its licensors retain all right, title and interest in and to the Software and Upgrades, and all modifications and enhancements thereto, including all intellectual property rights that are not expressly granted in this Agreement. EnterpriseDB shall own all right, title and interest in and to all Deliverables, and EnterpriseDB hereby grants to Customer a nonexclusive, worldwide, royalty-free right and license to use, execute, reproduce, display, and perform any such Deliverables in association with the Software during Customer’s valid Subscription; provided that this license does not include the Software or any open source components of the Deliverables. EnterpriseDB will have the sole right to use and/or to apply for patents, copyrights or other statutory or common law protections for any Deliverable. Customer agrees that nothing in this Agreement will be deemed to prohibit or limit EnterpriseDB's use, now or at any time, of ideas, concepts, know-how, methods, techniques, skill, knowledge and experience, in any way whatsoever that are used or developed in the performance of Support or Services under this Agreement, any SOW or any Order Form, which constitute the intellectual property of EnterpriseDB, subject to EnterpriseDB's obligations with respect to Customer's Confidential Information. Further, Customer agrees that should EnterpriseDB perform Support or Services on products licensed by EnterpriseDB or used by EnterpriseDB to provide Support or Services, then EnterpriseDB retains, and Customer hereby assigns, all right, title, and interest in and to all modifications, enhancements, customizations, source code, acquired or developed during the performance of the Support or Services under this Agreement, any SOW or any Order Form. Notwithstanding the foregoing, all EnterpriseDB training courses and training materials (“Training Materials”) shall not be considered Deliverables under this Agreement. Training Materials and all worldwide intellectual property rights therein, as the same may be amended and/or extended, including the copyright, are wholly owned solely by EnterpriseDB, who shall retain all right, title and interest in and to all Training Materials. Customer shall be entitled to keep and use all Training Materials provided by EnterpriseDB to Customer as part of any training Services, but without any other license to exercise any of the intellectual property rights therein, all of which are hereby strictly reserved to EnterpriseDB. In particular, and without limitation, Training Materials may not be copied electronically or otherwise whether or not for archive purposes, modified including translated, re-distributed, disclosed to third parties, lent, hired out, made available to the public, sold, offered for sale, shared, or transferred in any other way. The use of any Training Materials will be limited to use by the specific persons to whom the training Services are provided. All EnterpriseDB trademarks, trade names, logos and notices present on the Software, Documentation, Deliverables and Training Materials shall be preserved.

6. Warranties and Disclaimer. EnterpriseDB represents and warrants that: (a) the Support and Services will be performed in a professional and workmanlike manner. For any breach of the foregoing warranties, Customer's sole and exclusive remedy, and EnterpriseDB's sole and exclusive obligation, will be for EnterpriseDB to re-perform the Support or Services as warranted, as applicable.  If EnterpriseDB is unable to correct such non-conformance in the Support or Services after a reasonable opportunity, EnterpriseDB will refund the Service fees actually paid for such Service; provided that these remedies are only available if EnterpriseDB receives notice of such breach within ten (10) days from the date of delivery of the Services, as applicable. ENTERPRISEDB DOES NOT LICENSE, WARRANT OR ASSUME ANY OBLIGATION FOR THE SOFTWARE SINCE CUSTOMER IS OBTAINING IT FROM THE POSTGRESQL COMMUNITY.  EXCEPT AS PROVIDED IN THIS SECTION 6, ENTERPRISEDB PROVIDES THE SOFTWARE, SERVICES AND SUPPORT TO CUSTOMER "AS IS" AND ENTERPRISEDB DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT, AND ALL WARRANTIES THAT MAY ARISE FROM COURSE OF PERFORMANCE, COURSE OF DEALING OR USAGE OF TRADE. ENTERPRISEDB DOES NOT WARRANT THAT THE SOFTWARE WILL OPERATE UNINTERRUPTED OR BE FREE FROM ERRORS OR THAT THE SOFTWARE IS DESIGNED TO MEET CUSTOMER’S REQUIREMENTS.

 

7. Limitations of Liability. Notwithstanding any other clause in this Agreement, in no event will EnterpriseDB be liable for any special, indirect, incidental, punitive, exemplary or consequential damages (including, without limitation, any failure to realize savings or other benefits; any loss of use; or any claims made by or any payments made to any third person), any loss of revenue or profits, in each case arising from or in connection with this Agreement or the use or performance of any Software whether in an action based on contract, tort or any other legal theory, whether or not EnterpriseDB has been notified of the possibility thereof. Notwithstanding any other clause in this Agreement, EnterpriseDB's total aggregate liability arising from or in connection with this Agreement or the use or performance of any Support or Services whether in actions based on contract, tort or any other legal theory, and whether or not EnterpriseDB has been notified of the possibility thereof, will be limited to proven direct damages caused by EnterpriseDB's sole negligence in an amount not to exceed the amount paid under the applicable Order Form during the twelve (12) month period preceding the date of the claim. The foregoing limitations, exclusions and disclaimers are an allocation of the risk between the parties and will apply to the maximum extent permitted by applicable law, even if any remedy fails in its essential purpose.

8. Term and Termination. This Agreement is effective as of the Effective Date and unless as otherwise set forth in an Order Form, this Agreement will continue unless terminated earlier as set forth in this Section. Either party may terminate this Agreement by giving written notice to the other, in the event the other party (a) ceases to do business in the ordinary course, (b) becomes or is declared insolvent or bankrupt, (c) is the subject of any proceeding related to its liquidation or insolvency, which proceeding, if involuntary, is not dismissed within sixty (60) days, (d) makes an assignment for the benefit of its creditors, or (e) materially breaches any provision of this Agreement and fails to remedy such breach within thirty (30) days after receipt of written notice of such breach given by the non-breaching party. In the event of expiration or termination of Support or Service, an applicable Order Form or this Agreement, Customer must uninstall any software scripts or other materials provided as part of Support from EnterpriseDB thereunder and cease all use of such scripts or materials. Customer will pay EnterpriseDB all monies that become due prior to the date of termination.

9. Miscellaneous. 

9.1 Entire Agreement. This Agreement constitutes the entire agreement between the parties concerning the subject matter hereof which does not include the use of the Software, Support or Services in violation of the terms of this Agreement. This Agreement supersedes all prior or contemporaneous discussions, proposals and agreements between the parties relating to the subject matter of this Agreement. No amendment, modification or waiver of any provision of this Agreement will be effective unless in writing and signed by both parties. Customer purchase orders will be for the sole purpose of defining quantities, prices and describing the Software, Support and Services to be provided under this Agreement, and to this extent only are incorporated as a part of this Agreement and all other terms in purchase orders are rejected.

9.2 Severability. If any provision of this Agreement is held to be invalid or unenforceable, the remaining portions will remain in full force and effect and such provision will be enforced to the maximum extent possible so as to effect the intent of the parties and will be reformed to the extent necessary to make such provision valid and enforceable. 

9.3 Force Majeure. Neither party will be liable or deemed to be in breach for any delay or failure in performance of this Agreement (except for the payment of money) or interruption of services resulting directly or indirectly from acts of God, civil or military authority, war, riots, civil disturbances, accidents, fire, earthquake, floods, strikes, lock-outs, labor disturbances, foreign or governmental order, or any other cause beyond the reasonable control of such party. 

9.4 Governing Law and Venue. This Agreement will be governed by the laws of the Commonwealth of Massachusetts without regard for its choice of law provisions.  The parties specifically agree that the U.N. Convention on the International Sale of Goods, and the Uniform Computer Information Transactions Act (“UCITA”) shall not apply. All disputes arising out of or relating to this Agreement will be submitted to the exclusive jurisdiction of the state or federal courts of the Commonwealth of Massachusetts, and each party irrevocably consents to such personal jurisdiction and waives all objections to this venue. 

9.5 Export Regulations. Customer will comply fully with all export control laws and regulations of the United States and all other jurisdictions. Customer shall not and shall not allow any third party to remove or export from the United States or allow the export or re-export of any part of the Software or any direct product thereof: (a) into (or to a national or resident of) any embargoed or terrorist-supporting country; (b) to anyone on the U.S. Commerce Department's Table of Denial Orders or U.S. Treasury Department's list of Specially Designated Nationals; (c) to any country to which such export or re-export is restricted or prohibited, or as to which the U.S. government or any agency thereof requires an export license or other governmental approval at the time of export or re-export without first obtaining such license or approval; or (d) otherwise in violation of any export or import restrictions, laws or regulations of any United States or foreign agency or authority. Customer agrees to the foregoing and warrants that it is not located in, under the control of, or a national or resident of any such prohibited country or on any such prohibited party list. The Software is further restricted from being used for terrorist activity, or for the design or development of nuclear, chemical, or biological weapons or missile technology without the prior permission of the U.S. government.

9.6 Assignment. Neither party may assign this Agreement without the prior written consent of the other party, which consent will not be unreasonably withheld, provided that no consent will be necessary if this Agreement is being assigned by a party upon notice to the other party to: (a) an Affiliate; or (b) an acquirer of all or substantially all of the party's assets (or the assets of the party's applicable business unit), whether by merger, sale or exchange of stock, sale of assets or otherwise.  This Agreement binds the parties and their respective permitted assigns.

9.7 Marketing. EnterpriseDB may use Customer's name and company logo on its customer list and web site, and link to Customer's web site. 

9.8 Independent Contractor. The relationship of the parties is that of independent contractors. Neither party will be deemed to be the legal representative of the other nor will it have any right to bind the other party to any contract or commitment. This Agreement does not, and will not, be construed to create an employer-employee, agency, joint venture or partnership relationship between the parties. Each party agrees to assume complete responsibility for its own employees regarding federal or state laws, including employers' liability and tax withholding, worker's compensation, social security, unemployment insurance, and OSHA requirements. 

9.9 Notice. All notices and other communications herein permitted or required under this Agreement will be sent by postage prepaid, via registered or certified mail or overnight courier, return receipt requested, or delivered personally to the parties at their respective addresses, or to such other address as either party will give to the other party in the manner provided herein for giving notice. All notices to EnterpriseDB shall be sent to the attention of Legal Department with a copy sent to legal-notices@enterprisedb.com. Notice will be considered given upon receipt. 

9.10 Non-Solicitation. Neither party may hire, or directly or indirectly solicit or employ, any employee or contractor of the other party during the term of this Agreement and for one (1) year after the termination of this Agreement; provided, however, that nothing contained herein will prevent a party from hiring any such employee or contractor who responds to a general hiring program conducted in the ordinary course of business or who approaches such party on a wholly unsolicited basis.

10. Definitions.

“Affiliate” means an entity that a party, directly or indirectly, controls, an entity that controls a party or an entity that is under common control with a party.  For purposes of this provision, control means ownership of at least fifty percent (50%) of the outstanding voting shares of the entity.” 

"Business Day" means 8:00 AM to 8:00 PM (local time) Monday through Friday, excluding any EnterpriseDB holidays.
“Deliverable” means a deliverable provided by EnterpriseDB as part of the Services. 

"Documentation" means the applicable PostgreSQL technical documentation that accompanies the Software.
"Error" means a failure of Software to substantially conform to the descriptions contained in the applicable Documentation.
"General Release Date" means the date upon which EnterpriseDB announces on its website or otherwise that an Upgrade has entered general release.
"Initial Response Goal" means, for any single Support Request, the goal for the elapsed period measured from the time that Customer initiates the Support Request until EnterpriseDB provides a Response.

"Named Contacts" mean the individuals authorized to contact EnterpriseDB for Support. Such individuals should be trained and knowledgeable about the Software and the EnterpriseDB resolution procedures to be used with the Software. Named Contacts may be changed by providing EnterpriseDB with at least ten (10) days prior written notice.

“Non-Utilization Forfeiture Date” means, unless otherwise set forth in the applicable Order Form, the date that is six (6) months after the Effective date of the applicable Order Form.

“Order Form” means an order form entered into by the parties, which shall incorporate the terms of this Agreement.

"Resolution Goal" is the goal for EnterpriseDB of the time required to provide a documented fix that restores full (or near full) functionality to Customer.

"Response" means EnterpriseDB's acknowledgment of a Support Request received from Customer.

“SOW” means a statement of work entered into by the parties as part of an Order Form, which describes the Services to be provided by EnterpriseDB to Customer. 

“Services” means the consulting and training services provided by EnterpriseDB under this Agreement which do not include Support.

"Severity 1 Error" means a catastrophic production Error in the Software which severely impacts Customer's production systems, or in which the Software in Customer's production systems are down or not functioning; or an Error in the Software which is causing a loss of production data and no procedural work around exists. Severity 1 Errors also include security breaches.

"Severity 2 Error" means the Software, which is in production, is operational but certain major functions are not performing in accordance with the Documentation and no workaround is available.

"Severity 3 Error" means (a) minor functions of the Software, which is in production, are not performing in accordance with the Documentation or (b) the Software, which is in development or a test environment, is not performing in accordance with the Documentation.

“Software” means the Postgres Community’s PostgreSQL software set forth on the applicable Order Form, including its associated Documentation.

"Subscription" means Support for the Software during such term defined in a Sales Order.

“PostgreSQL Support” means the support provided for the applicable Software under the terms of Schedule A during the Subscription period.

"Third-Party PostgreSQL Support" means the support provided for the applicable Software under the terms of Schedule B during the Subscription period.

"Support Request" means a request communicated by Customer to EnterpriseDB using the designated procedure to report an Error and to request a correction of such Error.

“Supported – Break/Fix” means EDB will provide insight, guidance, troubleshooting, and where possible, a technical workaround as it pertains to the software if necessary, as it relates to functionality and behavior within the official software documentation, on approved OS platforms and versions as designated at https://www.enterprisedb.com/services-support/edb-supported-products-and-platforms. A workaround may consist of technical steps, a software patch or build, however EDB provides no guarantee that any code changes will persist or be maintained in the main open source project.

“Supported – Guidance and Advice” means EDB will provide insight and guidance for the product as it is understood per EDB's knowledge of the documented behavior and functionality of the software.

“Supported – Troubleshooting” means EDB will provide insight, guidance and troubleshooting for the software on approved OS platforms and versions as designated at https://www.enterprisedb.com/services-support/edb-supported-products-and-platforms.

“UOM” means, unless otherwise specified in an Order Form, either: (a) a "uniCore" where uniCore shall mean either of the following: (i) a processor core in a single or multi-core processor chip or (ii) a virtual core processor ("virtual Core" also known as a "vCore", "virtual CPU" or "vCPU") used to assign computing resources to a virtual machine; or (b) a "Server", where a server shall mean a single running installation of the Software. 

Schedule A: PostgreSQL Support

Support Terms

1. Support Conditions EnterpriseDB will use commercially reasonable efforts to respond to the Support Request from the Named Contacts within the Initial Response Goal below. All Support will be provided in the English language, only.

Service Level 

PostgreSQL Support

Severity 1 Error Resolution Goal

24 Hours

Severity 2 Error Resolution Goal

48 Hours

Severity 3 Error Resolution Goal

5 Business Days

Initial Response Goal

60 Minutes

Support Hours

24 x 7

Incident Type

Production Support

Number of Annual Support Incidents 

Unlimited

Named Contacts

Up to 36 uniCores = 4 Named Contacts, 40-100 uniCores = 6 Named Contacts, 1 additional Named Contact for each additional 20 uniCores

 

2. Support. EnterpriseDB will provide consultative technical support (“Technical Support”) and, to the extent possible, provide resolution for Errors for each version of PostgreSQL as it is set forth in the community End-of-Life matrix located on PostgreSQL.org; namely, the current window of support is identified as a five-year term beginning upon each respective major version’s release date.  A limited set of open source PostgreSQL tools will also be supported as specified in the table below along with their approved sources and support levels.

 

 

Approved Sources

Software

Support Level

yum.postgresql.org

StackBuilder

RHEL/CentOS/Debian

https://github.com/EnterpriseDB

PostgreSQL

Supported - Break/Fix

Y

Y

Y

 

EDB Language Pack

Supported - Break/Fix

 

Y

 

 

pgAdmin

Supported - Break/Fix

Y

 

Y

 

pgAgent

Supported - Troubleshooting

Y

Y

Y

 

pgBouncer

Supported – Troubleshooting

Y

Y

Y

 

Npgsql

Supported – Troubleshooting

Y

Y

Y

 

pgJDBC

Supported – Troubleshooting

Y

Y

Y

 

psqlODBC

Supported – Troubleshooting

Y

Y

Y

 

Slony

Supported – Troubleshooting

Y

Y

Y

 

PostGIS

Supported – Troubleshooting

Y

Y

Y

 

pgPool

Supported – Troubleshooting

Y

 

Y

 

hdfs_fdw

Supported - Break/Fix

Y

 

 

Y

mongo_fdw

Supported - Break/Fix

 

 

 

Y

mysql_fdw

Supported - Break/Fix

Y

 

 

Y

pljava

Supported – Troubleshooting

Y

 

 

 

pldebugger

Supported - Troubleshooting

Y

 

 

 

pg_catcheck

Supported - Break/Fix

Y

 

 

Y

pgbadger

Supported - Guidance & Advice

Y

 

 

 

 

3. Support Prerequisites. Customer will cooperate with and provide assistance to EnterpriseDB as EnterpriseDB may reasonably request in order to assist EnterpriseDB in the performance of Support, including, without limitation, providing all necessary assistance and information (according to the formats and templates specified by EnterpriseDB) to EnterpriseDB's support personnel reasonably required to enable such personnel to determine if a Customer problem is related to an Error or is due to some other issue. Customer will provide EnterpriseDB functioning test code, which reproduces and isolates the Error. The test code will have extraneous comments and code removed and to the extent possible, will be fully self-contained and automated, and will demonstrate the precise Error reported rather than other possible problems. The test code must be reproducible on EnterpriseDB's test systems where it pertains specifically to issues as they relate to Software.  If Customer cannot provide test code which reproduces the Error, EnterpriseDB may be unable to resolve the Error, but will be available to work with Customer to assist in the development of a test case. Customer acknowledges that correspondence and log files, which are generated in conjunction with a Support Request and provided to EnterpriseDB in any form, should not contain any sensitive, confidential or personal information. Customer is solely responsible for ensuring the protection of any data containing sensitive, confidential or personal information, including obscuring the logs or otherwise safeguarding such information prior to sending it to EnterpriseDB. All Support is provided remotely from EnterpriseDB's offices. Customer will provide EnterpriseDB with access (via remote telecommunications and, if applicable, on-site access) at Customer's premise to the extent reasonably necessary to allow EnterpriseDB to provide the Support. Customer will bear all costs associated with procuring, installing and maintaining all equipment, telephone lines and communications interfaces necessary for EnterpriseDB to have the necessary telecommunications access to provide Support. If EnterpriseDB personnel travel to a Customer location for an issue that is not an Error in the Software, EnterpriseDB may charge Customer standard consulting rates plus travel and living expenses. Support for Software and any open source components that are also distributed by EnterpriseDB but obtained from a source other than: (a) an EnterpriseDB installer, (b) ftp.postgresql.org, (c) yum.postgresql.org, (d) apt.postgresql.org, or (e) Red Hat Enterprise Linux, Fedora, Ubuntu, CentOS, Amazon Linux, SuSE or Debian, as part of the operating system from the original vendor; will be supplied under the following qualified support terms: (i) a pre-sale evaluation of the PostgreSQL or component source and binary builds by EnterpriseDB possibly at additional cost to the Customer, (ii) written approval for Support by the VP of Development for EnterpriseDB, (iii) reported issues must be reproducible against the latest maintenance release of the given version of PostgreSQL from git.postgresql.org, (iv) bug fixes for PostgreSQL builds not deployed by an EnterpriseDB installer will be submitted in the form of source file patches to the customer and the PostgreSQL community, and (v) EnterpriseDB shall make commercially reasonable efforts advocating for the community's acceptance of the patch as fast as possible. EnterpriseDB will provide Support for EDB Postgres Advanced Server and open source components created and maintained within the PostgreSQL community when they are distributed by EnterpriseDB with or without modifications for compatibility with EDB Postgres Advanced Server. EnterpriseDB will make commercially reasonable efforts to provide support for open source components created and maintained within the PostgreSQL community and distributed ‘as is’ by EnterpriseDB. EnterpriseDB will not provide Support for open source components that are not distributed by EnterpriseDB (or part of the above list of locations) but may be distributed with PostgreSQL from sources other than EnterpriseDB.

 

4. Exclusions. Unless otherwise agreed to in an executed Order Form, EnterpriseDB will not provide Support in any of the following circumstances:

4.1 A failure of hardware, equipment or programs not covered by this Agreement;

4.2 Customer's failure to comply with operating instructions contained in the Documentation;

4.3 A modification, enhancement or customization of the Software;

4.4 Any cause or causes beyond the reasonable control of EnterpriseDB (e.g. floods, fires, loss of electricity or other utilities), errors arising from anything other than Software, such as databases, web-servers or hardware;

4.5 Installation, configuration, management and operation of the Customer's applications;

4.6 Software not obtained from the EnterpriseDB website or part of the Section 3 list of locations above; 

4.7 APIs interfaces or data formats other than those included with the Software; or

4.8 Use of the Software for providing time-sharing services, service bureau services or as part of an application services provider or software as a service offering.

 

EnterpriseDB will have no obligation to provide Support if Customer has not paid all applicable fees payable pursuant to this Agreement, or is otherwise not in compliance with the terms of this Agreement.

 

Schedule B:  Third-Party PostgreSQL Support

Support Terms

1. Support Conditions EnterpriseDB will use commercially reasonable efforts to respond to the Support Request from the Named Contacts within the Initial Response Goal below. All Support will be provided in the English language, only.

Service Level 

PostgreSQL Support

Severity 1 Error Resolution Goal

24 Hours

Severity 2 Error Resolution Goal

48 Hours

Severity 3 Error Resolution Goal

5 Business Days

Initial Response Goal

60 Minutes

Support Hours

24 x 7

Incident Type

Production Support

Number of Annual Support Incidents 

Unlimited

Named Contacts

Up to 36 uniCores = 4 Named Contacts, 40-100 uniCores = 6 Named Contacts, 1 additional Named Contact for each additional 20 uniCores

 

2. Third-Party PostgreSQL Support. EnterpriseDB will provide consultative technical support (“Technical Support”) and, to the extent possible, provide resolution for Errors for each version of PostgreSQL as it is set forth in the community End-of-Life matrix located on PostgreSQL.org; namely, the current window of support is identified as a five-year term beginning upon each respective major version’s release date.  This technical support is limited to (a) the database parameters accessible in Amazon’s RDS PostgreSQL offering, noted in Table 1 below, and (b) if available from Amazon RDS PostgreSQL, a limited set of open source PostgreSQL tools will also be supported as specified in Table 2, along with their approved sources and support levels. 

 

Table 1

Parameter Name

Apply_Type

Description

application_name

Dynamic

Sets the application name to be reported in statistics and logs.

array_nulls

Dynamic

Enables input of NULL elements in arrays.

authentication_timeout

Dynamic

Sets the maximum allowed time to complete client authentication.

autovacuum

Dynamic

Starts the autovacuum subprocess.

autovacuum_analyze_scale_factor

Dynamic

Number of tuple inserts, updates, or deletes before analyze as a fraction of reltuples.

autovacuum_analyze_threshold

Dynamic

Minimum number of tuple inserts, updates, or deletes before analyze.

autovacuum_naptime

Dynamic

Time to sleep between autovacuum runs.

autovacuum_vacuum_cost_delay

Dynamic

Vacuum cost delay, in milliseconds, for autovacuum.

autovacuum_vacuum_cost_limit

Dynamic

Vacuum cost amount available before napping, for autovacuum.

autovacuum_vacuum_scale_factor

Dynamic

Number of tuple updates or deletes before vacuum as a fraction of reltuples.

autovacuum_vacuum_threshold

Dynamic

Minimum number of tuple updates or deletes before vacuum.

backslash_quote

Dynamic

Sets whether a backslash (\) is allowed in string literals.

bgwriter_delay

Dynamic

Background writer sleep time between rounds.

bgwriter_lru_maxpages

Dynamic

Background writer maximum number of LRU pages to flush per round.

bgwriter_lru_multiplier

Dynamic

Multiple of the average buffer usage to free per round.

bytea_output

Dynamic

Sets the output format for bytes.

check_function_bodies

Dynamic

Checks function bodies during CREATE FUNCTION.

checkpoint_completion_target

Dynamic

Time spent flushing dirty buffers during checkpoint, as a fraction of the checkpoint interval.

checkpoint_segments

Dynamic

Sets the maximum distance in log segments between automatic write-ahead log (WAL) checkpoints.

checkpoint_timeout

Dynamic

Sets the maximum time between automatic WAL checkpoints.

checkpoint_warning

Dynamic

Enables warnings if checkpoint segments are filled more frequently than this.

client_encoding

Dynamic

Sets the client's character set encoding.

client_min_messages

Dynamic

Sets the message levels that are sent to the client.

commit_delay

Dynamic

Sets the delay in microseconds between transaction commit and flushing WAL to disk.

commit_siblings

Dynamic

Sets the minimum concurrent open transactions before performing commit_delay.

constraint_exclusion

Dynamic

Enables the planner to use constraints to optimize queries.

cpu_index_tuple_cost

Dynamic

Sets the planner's estimate of the cost of processing each index entry during an index scan.

cpu_operator_cost

Dynamic

Sets the planner's estimate of the cost of processing each operator or function call.

cpu_tuple_cost

Dynamic

Sets the planner's estimate of the cost of processing each tuple (row).

cursor_tuple_fraction

Dynamic

Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved.

datestyle

Dynamic

Sets the display format for date and time values.

deadlock_timeout

Dynamic

Sets the time to wait on a lock before checking for deadlock.

debug_pretty_print

Dynamic

Indents parse and plan tree displays.

debug_print_parse

Dynamic

Logs each query's parse tree.

debug_print_plan

Dynamic

Logs each query's execution plan.

debug_print_rewritten

Dynamic

Logs each query's rewritten parse tree.

default_statistics_target

Dynamic

Sets the default statistics target.

default_tablespace

Dynamic

Sets the default tablespace to create tables and indexes in.

default_transaction_deferrable

Dynamic

Sets the default deferrable status of new transactions.

default_transaction_isolation

Dynamic

Sets the transaction isolation level of each new transaction.

default_transaction_read_only

Dynamic

Sets the default read-only status of new transactions.

default_with_oids

Dynamic

Creates new tables with OIDs by default.

effective_cache_size

Dynamic

Sets the planner's assumption about the size of the disk cache.

effective_io_concurrency

Dynamic

Number of simultaneous requests that can be handled efficiently by the disk subsystem.

enable_bitmapscan

Dynamic

Enables the planner's use of bitmap-scan plans.

enable_hashagg

Dynamic

Enables the planner's use of hashed aggregation plans.

enable_hashjoin

Dynamic

Enables the planner's use of hash join plans.

enable_indexscan

Dynamic

Enables the planner's use of index-scan plans.

enable_material

Dynamic

Enables the planner's use of materialization.

enable_mergejoin

Dynamic

Enables the planner's use of merge join plans.

enable_nestloop

Dynamic

Enables the planner's use of nested-loop join plans.

enable_seqscan

Dynamic

Enables the planner's use of sequential-scan plans.

enable_sort

Dynamic

Enables the planner's use of explicit sort steps.

enable_tidscan

Dynamic

Enables the planner's use of TID scan plans.

escape_string_warning

Dynamic

Warns about backslash (\) escapes in ordinary string literals.

extra_float_digits

Dynamic

Sets the number of digits displayed for floating-point values.

from_collapse_limit

Dynamic

Sets the FROM-list size beyond which subqueries are not collapsed.

fsync

Dynamic

Forces synchronization of updates to disk.

full_page_writes

Dynamic

Writes full pages to WAL when first modified after a checkpoint.

geqo

Dynamic

Enables genetic query optimization.

geqo_effort

Dynamic

GEQO: effort is used to set the default for other GEQO parameters.

geqo_generations

Dynamic

GEQO: number of iterations of the algorithm.

geqo_pool_size

Dynamic

GEQO: number of individuals in the population.

geqo_seed

Dynamic

GEQO: seed for random path selection.

geqo_selection_bias

Dynamic

GEQO: selective pressure within the population.

geqo_threshold

Dynamic

Sets the threshold of FROM items beyond which GEQO is used.

gin_fuzzy_search_limit

Dynamic

Sets the maximum allowed result for exact search by GIN.

hot_standby_feedback

Dynamic

Determines whether a hot standby sends feedback messages to the primary or upstream standby.

intervalstyle

Dynamic

Sets the display format for interval values.

join_collapse_limit

Dynamic

Sets the FROM-list size beyond which JOIN constructs are not flattened.

lc_messages

Dynamic

Sets the language in which messages are displayed.

lc_monetary

Dynamic

Sets the locale for formatting monetary amounts.

lc_numeric

Dynamic

Sets the locale for formatting numbers.

lc_time

Dynamic

Sets the locale for formatting date and time values.

log_autovacuum_min_duration

Dynamic

Sets the minimum execution time above which autovacuum actions will be logged.

log_checkpoints

Dynamic

Logs each checkpoint.

log_connections

Dynamic

Logs each successful connection.

log_disconnections

Dynamic

Logs end of a session, including duration.

log_duration

Dynamic

Logs the duration of each completed SQL statement.

log_error_verbosity

Dynamic

Sets the verbosity of logged messages.

log_executor_stats

Dynamic

Writes executor performance statistics to the server log.

log_filename

Dynamic

Sets the file name pattern for log files.

log_hostname

Dynamic

Logs the host name in the connection logs.

log_lock_waits

Dynamic

Logs long lock waits.

log_min_duration_statement

Dynamic

Sets the minimum execution time above which statements will be logged.

log_min_error_statement

Dynamic

Causes all statements generating an error at or above this level to be logged.

log_min_messages

Dynamic

Sets the message levels that are logged.

log_parser_stats

Dynamic

Writes parser performance statistics to the server log.

log_planner_stats

Dynamic

Writes planner performance statistics to the server log.

log_rotation_age

Dynamic

Automatic log file rotation will occur after N minutes.

log_rotation_size

Dynamic

Automatic log file rotation will occur after N kilobytes.

log_statement

Dynamic

Sets the type of statements logged.

log_statement_stats

Dynamic

Writes cumulative performance statistics to the server log.

log_temp_files

Dynamic

Logs the use of temporary files larger than this number of kilobytes.

maintenance_work_mem

Dynamic

Sets the maximum memory to be used for maintenance operations.

max_stack_depth

Dynamic

Sets the maximum stack depth, in kilobytes.

max_standby_archive_delay

Dynamic

Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data.

max_standby_streaming_delay

Dynamic

Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data.

max_wal_size

Static

Sets the WAL size that triggers the checkpoint. For PostgreSQL version 9.6 and earlier, max_wal_size is in units of 16 MB. For PostgreSQL version 10 and later, max_wal_size is in units of 1 MB.

min_wal_size

Static

Sets the minimum size to shrink the WAL to. For PostgreSQL version 9.6 and earlier, min_wal_size is in units of 16 MB. For PostgreSQL version 10 and later, min_wal_size is in units of 1 MB.

quote_all_identifiers

Dynamic

Adds quotes (") to all identifiers when generating SQL fragments.

random_page_cost

Dynamic

Sets the planner's estimate of the cost of a non-sequentially fetched disk page.

rds.adaptive_autovacuum

Dynamic

Automatically tunes the autovacuum parameters whenever the transaction ID thresholds are exceeded.

rds.log_retention_period

Dynamic

Sets log retention such that Amazon RDS deletes PostgreSQL logs that are older than N minutes.

rds.restrict_password_commands

Static

Restricts who can manage passwords to users with the rds_password role. Set this parameter to 1 to enable password restriction. The default is 0.

search_path

Dynamic

Sets the schema search order for names that are not schema-qualified.

seq_page_cost

Dynamic

Sets the planner's estimate of the cost of a sequentially fetched disk page.

session_replication_role

Dynamic

Sets the sessions behavior for triggers and rewrite rules.

sql_inheritance

Dynamic

Causes subtables to be included by default in various commands.

ssl_renegotiation_limit

Dynamic

Sets the amount of traffic to send and receive before renegotiating the encryption keys.

standard_conforming_strings

Dynamic

Causes ... strings to treat backslashes literally.

statement_timeout

Dynamic

Sets the maximum allowed duration of any statement.

synchronize_seqscans

Dynamic

Enables synchronized sequential scans.

synchronous_commit

Dynamic

Sets the current transactions synchronization level.

tcp_keepalives_count

Dynamic

Maximum number of TCP keepalive retransmits.

tcp_keepalives_idle

Dynamic

Time between issuing TCP keepalives.

tcp_keepalives_interval

Dynamic

Time between TCP keepalive retransmits.

temp_buffers

Dynamic

Sets the maximum number of temporary buffers used by each session.

temp_tablespaces

Dynamic

Sets the tablespaces to use for temporary tables and sort files.

timezone

Dynamic

Sets the time zone for displaying and interpreting time stamps.

track_activities

Dynamic

Collects information about executing commands.

track_counts

Dynamic

Collects statistics on database activity.

track_functions

Dynamic

Collects function-level statistics on database activity.

track_io_timing

Dynamic

Collects timing statistics on database I/O activity.

transaction_deferrable

Dynamic

Indicates whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures.

transaction_isolation

Dynamic

Sets the current transactions isolation level.

transaction_read_only

Dynamic

Sets the current transactions read-only status.

transform_null_equals

Dynamic

Treats expr=NULL as expr IS NULL.

update_process_title

Dynamic

Updates the process title to show the active SQL command.

vacuum_cost_delay

Dynamic

Vacuum cost delay in milliseconds.

vacuum_cost_limit

Dynamic

Vacuum cost amount available before napping.

vacuum_cost_page_dirty

Dynamic

Vacuum cost for a page dirtied by vacuum.

vacuum_cost_page_hit

Dynamic

Vacuum cost for a page found in the buffer cache.

vacuum_cost_page_miss

Dynamic

Vacuum cost for a page not found in the buffer cache.

vacuum_defer_cleanup_age

Dynamic

Number of transactions by which vacuum and hot cleanup should be deferred, if any.

vacuum_freeze_min_age

Dynamic

Minimum age at which vacuum should freeze a table row.

vacuum_freeze_table_age

Dynamic

Age at which vacuum should scan a whole table to freeze tuples.

wal_writer_delay

Dynamic

WAL writer sleep time between WAL flushes.

work_mem

Dynamic

Sets the maximum memory to be used for query workspaces.

xmlbinary

Dynamic

Sets how binary values are to be encoded in XML.

xmloption

Dynamic

Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments.

autovacuum_freeze_max_age

Static

Age at which to autovacuum a table to prevent transaction ID wraparound.

autovacuum_max_workers

Static

Sets the maximum number of simultaneously running autovacuum worker processes.

max_connections

Static

Sets the maximum number of concurrent connections.

max_files_per_process

Static

Sets the maximum number of simultaneously open files for each server process.

max_locks_per_transaction

Static

Sets the maximum number of locks per transaction.

max_pred_locks_per_transaction

Static

Sets the maximum number of predicate locks per transaction.

max_prepared_transactions

Static

Sets the maximum number of simultaneously prepared transactions.

shared_buffers

Static

Sets the number of shared memory buffers used by the server.

ssl

Static

Enables SSL connections.

temp_file_limit

Static

Sets the maximum size in KB to which the temporary files can grow.

track_activity_query_size

Static

Sets the size reserved for pg_stat_activity.current_query, in bytes.

wal_buffers

Static

Sets the number of disk-page buffers in shared memory for WAL.

 

 

 

Table 2

 

Approved Sources

Software

Support Level

yum.postgresql.org

StackBuilder

RHEL/CentOS/Debian

https://github.com/EnterpriseDB

PostgreSQL

Supported - Break/Fix

Y

Y

Y

 

EDB Language Pack

Supported - Break/Fix

 

Y

 

 

pgAdmin

Supported - Break/Fix

Y

 

Y

 

pgAgent

Supported - Troubleshooting

Y

Y

Y

 

pgBouncer

Supported – Troubleshooting

Y

Y

Y

 

Npgsql

Supported – Troubleshooting

Y

Y

Y

 

pgJDBC

Supported – Troubleshooting

Y

Y

Y

 

psqlODBC

Supported – Troubleshooting

Y

Y

Y

 

Slony

Supported – Troubleshooting

Y

Y

Y

 

PostGIS

Supported – Troubleshooting

Y

Y

Y

 

pgPool

Supported – Troubleshooting

Y

 

Y

 

hdfs_fdw

Supported - Break/Fix

Y

 

 

Y

mongo_fdw

Supported - Break/Fix

 

 

 

Y

mysql_fdw

Supported - Break/Fix

Y

 

 

Y

pljava

Supported – Troubleshooting

Y

 

 

 

pldebugger

Supported - Troubleshooting

Y

 

 

 

pg_catcheck

Supported - Break/Fix

Y

 

 

Y

pgbadger

Supported - Guidance & Advice

Y

 

 

 

 

3. Support Prerequisites. Customer will cooperate with and provide assistance to EnterpriseDB as EnterpriseDB may reasonably request in order to assist EnterpriseDB in the performance of Support, including, without limitation, providing all necessary assistance and information (according to the formats and templates specified by EnterpriseDB) to EnterpriseDB's support personnel reasonably required to enable such personnel to determine if a Customer problem is related to an Error or is due to some other issue. Customer will provide EnterpriseDB functioning test code, which reproduces and isolates the Error. The test code will have extraneous comments and code removed and to the extent possible, will be fully self-contained and automated, and will demonstrate the precise Error reported rather than other possible problems. The test code must be reproducible on the Software as defined in Schedule A, manifested on EnterpriseDB's test systems where it pertains specifically to issues as they relate to Software.  If Customer cannot provide test code which reproduces the Error, EnterpriseDB may be unable to resolve the Error, but will be available to work with Customer to assist in the development of a test case. Customer acknowledges that correspondence and log files, which are generated in conjunction with a Support Request and provided to EnterpriseDB in any form, should not contain any sensitive, confidential or personal information. Customer is solely responsible for ensuring the protection of any data containing sensitive, confidential or personal information, including obscuring the logs or otherwise safeguarding such information prior to sending it to EnterpriseDB. All Support is provided remotely from EnterpriseDB's offices. Customer will provide EnterpriseDB with access (via remote telecommunications and, if applicable, on-site access) at Customer's premise to the extent reasonably necessary to allow EnterpriseDB to provide the Support. Customer will bear all costs associated with procuring, installing and maintaining all equipment, telephone lines and communications interfaces necessary for EnterpriseDB to have the necessary telecommunications access to provide Support. If EnterpriseDB personnel travel to a Customer location for an issue that is not an Error in the Software, EnterpriseDB may charge Customer standard consulting rates plus travel and living expenses. Support for Software and any open source components that are also distributed by EnterpriseDB but obtained from a source other than: (a) an EnterpriseDB installer, (b) ftp.postgresql.org, (c) yum.postgresql.org, (d) apt.postgresql.org, or (e) Red Hat Enterprise Linux, Fedora, Ubuntu, CentOS, Amazon Linux, SuSE or Debian, as part of the operating system from the original vendor; will be supplied under the following qualified support terms: (i) a pre-sale evaluation of the PostgreSQL or component source and binary builds by EnterpriseDB possibly at additional cost to the Customer, (ii) written approval for Support by the VP of Development for EnterpriseDB, or (iii) Amazon RDS PostgreSQL.  Reported issues must be reproducible against the latest maintenance release of the given version of PostgreSQL from git.postgresql.org, and (iv) bug fixes for PostgreSQL builds not deployed by an EnterpriseDB installer will be submitted in the form of source file patches to the customer and the PostgreSQL community. EnterpriseDB will make commercially reasonable efforts to provide support for open source components created and maintained within the PostgreSQL community and distributed ‘as is’ by EnterpriseDB.  EnterpriseDB will not provide any obligation toward any modification of the Software as provided by Amazon RDS itself. EnterpriseDB will not provide Support for open source components that are not distributed by EnterpriseDB (or part of the above list of locations) but may be distributed with PostgreSQL from sources other than EnterpriseDB.

 

4. Exclusions. Unless otherwise agreed to in an executed Order Form, EnterpriseDB will not provide Support in any of the following circumstances:

4.1 A failure of hardware, equipment or programs not covered by this Agreement;

4.2 Customer's failure to comply with operating instructions contained in the Documentation;

4.3 A modification, enhancement or customization of the Software;

4.4 Any cause or causes beyond the reasonable control of EnterpriseDB (e.g. floods, fires, loss of electricity or other utilities), errors arising from anything other than Software, such as databases, web-servers or hardware;

4.5 Installation, configuration, management and operation of the Customer's applications;

4.6 Software not obtained from the EnterpriseDB website or part of the Section 3 list of locations above; 

4.7 APIs interfaces or data formats other than those included with the Software; or

4.8 Use of the Software for providing time-sharing services, service bureau services or as part of an application services provider or software as a service offering.

EnterpriseDB will have no obligation to provide Support if Customer has not paid all applicable fees payable pursuant to this Agreement, or is otherwise not in compliance with the terms of this Agreement.