遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/2268)
<a href="https://www.bestpractices.dev/projects/2268"><img src="https://www.bestpractices.dev/projects/2268/badge"></a>
PostgreSQL is a powerful, open source object-relational database system that uses and extends the SQL language combined with many features that safely store and scale the most complicated data workloads. The origins of PostgreSQL date back to 1986 as part of the POSTGRES project at the University of California at Berkeley and has more than 30 years of active development on the core platform.
PostgreSQL has earned a strong reputation for its proven architecture, reliability, data integrity, robust feature set, extensibility, and the dedication of the open source community behind the software to consistently deliver performant and innovative solutions. PostgreSQL runs on all major operating systems, has been ACID-compliant since 2001, and has powerful add-ons such as the popular PostGIS geospatial database extender. It is no surprise that PostgreSQL has become the open source relational database of choice for many people and organisations.
Getting started with using PostgreSQL has never been easier - pick a project you want to build, and let PostgreSQL safely and robustly store your data.
https://www.postgresql.org/about/
https://wiki.postgresql.org/wiki/Submitting_a_Patch#Patch_review_and_commit https://www.postgresql.org/docs/devel/static/source.html
https://www.postgresql.org/about/policies/coc/
https://www.postgresql.org/community/contributors/
https://www.postgresql.org/docs/devel/static/internals.html and a lot of per-subsystem READMEs etc exist.
Per version documentation exists and is of a high quality: https://www.postgresql.org/docs/
No GUI tools are included as part of PostgreSQL, the command-line tools are mostly usable with screenreaders etc.
https://www.postgresql.org/docs/devel/static/locale.html https://wiki.postgresql.org/wiki/NLS
https://www.postgresql.org/docs/current/static/upgrading.html
A mailing list is used, https://www.postgresql.org/list/pgsql-bugs/ . This is unlikely to change in the short-term.
The CVEs listed under https://www.postgresql.org/support/security/ reference the reporter of the vulnerability, where desired by the reporter.
https://www.postgresql.org/docs/current/source.html
autoconf is used, and environment / argument CC, CFLAGS, CXX, CXXFLAGS, and LDFLAGS are all respected.
The PostgreSQL build-system does not strip binaries. Debugging information can be enabled by passing --enable-debug to configure.
make install/uninstall is available.
autoconf style ./configure --prefix (and other more granular flags) are available. DESTDIR is supported too, and used by tests.
Project can be tested from within the source code directory or installed into a desirable user-specified directory.
Most external dependencies are optional, the few embedded ones (e.g. tzdata) can be configured to instead use the system copy. Updates to embedded projects are made regularly.
We try hard not to rely on any deprecated APIs outside of archaic architectures / operating systems.
https://buildfarm.postgresql.org/cgi-bin/show_status.pl
Documentation could be better, but the contribution guides reference tests: https://wiki.postgresql.org/wiki/Submitting_a_Patch#Patch_review_and_commit https://wiki.postgresql.org/wiki/Developer_FAQ#How_do_I_test_my_changes.3F https://wiki.postgresql.org/wiki/Regression_test_authoring
https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=configure.in;h=23b5bb867bbe1e858b60624e86bf499a475ae7e0;hb=HEAD#l481
Warnings that we found are helpful are enabled, others that tend not to be helpful are disabled.
TLS 1.3 is supported via new enough versions of OpenSSL, but not required by default. Usually PostgreSQL is not directly exposed to the internet, for some sites the overhead of using encryption internally is prohibitive.
TLS 1.3 is supported via new enough versions of OpenSSL.
HTTP[S] is not used.
Input is properly parsed, with input validation, including correct encoding.
Coverity does so.
Valgrind is run automatically after commits.
后退