Port details |
- postgresql16-server PostgreSQL is the most advanced open-source database available anywhere
- 16.4 databases =8 16.4Version of this port present on the latest quarterly branch.
- Maintainer: pgsql@FreeBSD.org
- Port Added: 2023-07-05 14:15:11
- Last Update: 2024-08-10 16:37:23
- Commit Hash: 357bf97
- People watching this port, also watch:: rsync, nmap, nginx, tmux, ca_root_nss
- License: PostgreSQL
- WWW:
- https://www.postgresql.org/
- Description:
- PostgreSQL is a sophisticated Object-Relational DBMS, supporting
almost all SQL constructs, including subselects, transactions, and
user-defined types and functions. It is the most advanced open-source
database available anywhere. Commercial Support is also available.
The original Postgres code was the effort of many graduate students,
undergraduate students, and staff programmers working under the direction of
Professor Michael Stonebraker at the University of California, Berkeley. In
1995, Andrew Yu and Jolly Chen took on the task of converting the DBMS query
language to SQL and created a new database system which came to known as
Postgres95. Many others contributed to the porting, testing, debugging and
enhancement of the Postgres95 code. As the code improved, and 1995 faded into
memory, PostgreSQL was born.
PostgreSQL development is presently being performed by a team of Internet
developers who are now responsible for all current and future development. The
development team coordinator is Marc G. Fournier (scrappy@PostgreSQL.ORG).
Support is available from the PostgreSQL developer/user community through the
support mailing list (questions@PostgreSQL.ORG).
PostgreSQL is free and the complete source is available.
- ¦ ¦ ¦ ¦
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - Dependency lines:
-
- postgresql16-server>0:databases/postgresql16-server
- Conflicts:
- CONFLICTS:
- To install the port:
- cd /usr/ports/databases/postgresql16-server/ && make install clean
- To add the package, run one of these commands:
- pkg install databases/postgresql16-server
- pkg install postgresql16-server
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.- PKGNAME: postgresql16-server
- Flavors: there is no flavor information for this port.
- distinfo:
- TIMESTAMP = 1722892660
SHA256 (postgresql/postgresql-16.4.tar.bz2) = 971766d645aa73e93b9ef4e3be44201b4f45b5477095b049125403f9f3386d6f
SIZE (postgresql/postgresql-16.4.tar.bz2) = 24765786
Packages (timestamps in pop-ups are UTC):
- Slave ports:
-
- databases/postgresql16-client
- databases/postgresql16-contrib
- databases/postgresql16-docs
- databases/postgresql16-plperl
- databases/postgresql16-plpython
- databases/postgresql16-pltcl
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- gmake>=4.4.1 : devel/gmake
- pkgconf>=1.3.0_1 : devel/pkgconf
- gettext-runtime>=0.22_1 : devel/gettext-runtime
- msgfmt : devel/gettext-tools
- Library dependencies:
-
- libicudata.so : devel/icu
- liblz4.so : archivers/liblz4
- libzstd.so : archivers/zstd
- libpq.so.5 : databases/postgresql16-client
- libLLVM-15.so : devel/llvm15
- libintl.so : devel/gettext-runtime
- This port is required by:
- for Build
-
- databases/pg_cron
- databases/pg_qualstats
- databases/pg_stat_kcache
- databases/pglogical
- databases/pgrouting
- databases/pgvector
- databases/pldebugger
-
Deleted ports which required this port:
- for Run
-
- databases/pg_cron
- databases/pg_qualstats
- databases/pg_stat_kcache
- databases/pglogical
- databases/pgrouting
- databases/pgvector
- databases/pldebugger
-
Deleted ports which required this port:
- * - deleted ports are only shown under the This port is required by section. It was harder to do for the Required section. Perhaps later...
Configuration Options:
- ===> The following configuration options are available for postgresql16-server-16.4:
DEBUG=off: Build with debugging support
DOCS=on: Build and/or install documentation
DTRACE=off: Build with DTrace probes
GSSAPI=off: Build with GSSAPI support
LDAP=off: Build with LDAP authentication support
LLVM=on: Build with support for JIT-compiling expressions
LZ4=on: Build with LZ4 compression support
NLS=on: Use internationalized messages
OPTIMIZED_CFLAGS=off: Builds with compiler optimizations (-O3)
PAM=off: Build with PAM Support
SSL=on: Build with OpenSSL support
TZDATA=off: Use internal timezone database
XML=off: Build with XML data type
ZSTD=on: Build with ZSTD compression support
===> Use 'make config' to modify these settings
- Options name:
- databases_postgresql16-server
- USES:
- tar:bzip2 cpe gmake pgsql:16 pkgconfig llvm:min=11,lib gettext ssl
- pkg-message:
- For install:
- For procedural languages and postgresql functions, please note that
you might have to update them when updating the server.
If you have many tables and many clients running, consider raising
kern.maxfiles using sysctl(8), or reconfigure your kernel
appropriately.
The port is set up to use autovacuum for new databases, but you might
also want to vacuum and perhaps backup your database regularly. There
is a periodic script, /usr/local/etc/periodic/daily/502.pgsql, that
you may find useful. You can use it to backup and perform vacuum on all
databases nightly. Per default, it performs `vacuum analyze'. See the
script for instructions. For autovacuum settings, please review
~postgres/data/postgresql.conf.
If you plan to access your PostgreSQL server using ODBC, please
consider running the SQL script /usr/local/share/postgresql/odbc.sql
to get the functions required for ODBC compliance.
Please note that if you use the rc script,
/usr/local/etc/rc.d/postgresql, to initialize the database, unicode
(UTF-8) will be used to store character data by default. Set
postgresql_initdb_flags or use login.conf settings described below to
alter this behaviour. See the start rc script for more info.
To set limits, environment stuff like locale and collation and other
things, you can set up a class in /etc/login.conf before initializing
the database. Add something similar to this to /etc/login.conf:
---
postgres:\
:lang=en_US.UTF-8:\
:setenv=LC_COLLATE=C:\
:tc=default:
---
and run `cap_mkdb /etc/login.conf'.
Then add 'postgresql_login_class="postgres"' to /etc/rc.conf, or
set it as the postgres user's login class in /etc/passwd.
======================================================================
To use PostgreSQL, enable it in rc.conf using
sysrc postgresql_enable=yes
To initialize the database, run
service postgresql initdb
You can then start PostgreSQL by running:
service postgresql start
For postmaster settings, see ~postgres/data/postgresql.conf
NB. FreeBSD's PostgreSQL port logs to syslog by default
See ~postgres/data/postgresql.conf for more info
NB. If you're not using a checksumming filesystem like ZFS, you might
wish to enable data checksumming. It can be enabled during
the initdb phase, by adding the "--data-checksums" flag to
the postgresql_initdb_flags rcvar. Otherwise you can enable it later by
using pg_checksums. Check the initdb(1) manpage for more info
and make sure you understand the performance implications.
======================================================================
SECURITY ADVICE
If upgrading from a version 16.x < 16.3
A security vulnerability was found in the system views pg_stats_ext
and pg_stats_ext_exprs, potentially allowing authenticated database
users to see data they shouldn't. If this is of concern in your
installation, run the SQL script /usr/local/share/postgresql/fix-CVE-2024-4317.sql
for each of your databases. For details, see
https://www.postgresql.org/support/security/CVE-2024-4317/
- Master Sites:
|
Notes from UPDATING |
- These upgrade notes are taken from /usr/ports/UPDATING
- 2024-07-23
Affects: users of databases/postgresql* and other software using PostgreSQL to run Author: kbowling@FreeBSD.org Reason:
The default version of PostgreSQL has been switched from 15 to 16.
The upgrade procedure can use up twice the space the databases
currently needs. If you have a big amount of stored data take a
closer look at the manpage of pg_upgrade for avoidance and/or
speedup of the upgrade.
The upgrade instructions consider a basic usage and do not match
complex scenarios like replication, sharding, or similar.
Upgrade instructions:
First stop your PostgreSQL, create PostgreSQL-binaries and backup your data.
If you have another Version of PostgreSQL installed, for example 15, your
files are named according to this.
# service postgresql stop
# pkg create postgresql15-server postgresql15-contrib
# mkdir /tmp/pg-upgrade
# tar xf postgresql15-server-15.7.pkg -C /tmp/pg-upgrade
# tar xf postgresql15-contrib-15.7.pkg -C /tmp/pg-upgrade
# pkg delete -f databases/postgresql15-server databases/postgresql15-contrib databases/postgresql15-client
Now update PostgreSQL:
pkg user:
# pkg install databases/postgresql16-server databases/postgresql16-contrib
# pkg upgrade
Portmaster users:
# portmaster databases/postgresql16-server databases/postgresql16-contrib
# portmaster -a
Portupgrade users:
# portinstall databases/postgresql16-server databases/postgresql16-contrib
# portupgrade -a
After installing the new PostgreSQL version you need to convert
all your databases to new version:
# su -l postgres -c "/usr/local/bin/initdb --encoding=utf-8 --lc-collate=C -D /var/db/postgres/data16 -U postgres"
# su -l postgres -c "pg_upgrade -b /tmp/pg-upgrade/usr/local/bin/ -d /var/db/postgres/data15/ -B /usr/local/bin/ -D /var/db/postgres/data16/ -U postgres "
Now the migration is finished. You can start PostgreSQL again with:
# service postgresql start
ATTENTION:
1) If you use non-default initdb options, you have to adjust the initdb-command accordingly
|
Number of commits found: 18
Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
Commit | Credits | Log message |
16.4 10 Aug 2024 16:37:23 |
Dimitry Andric (dim) |
databases/postgresql1[456]-server: fix typo in pkg-message-server.in
s/upgradring/upgrading/
MFH: 2024Q3 |
16.4 08 Aug 2024 13:02:46 |
Palle Girgensohn (girgen) |
databases/postgresql??-*: Update to latest minor versions
The PostgreSQL Global Development Group has released an update to all
supported versions of PostgreSQL, including 16.4, 15.8, 14.13, 13.16,
and 12.20. This release fixes 1 security vulnerability and over 55 bugs
reported over the last several months.
PR: 279671 - make the rc script service jails aware
PR: 279536 - remove LLVM max version restriction
PR: 278887 - SETENV -> SETENVI for -contrib ports
Release notes: https://www.postgresql.org/docs/release/ |
16.3 11 May 2024 07:09:05 |
Palle Girgensohn (girgen) |
postgresql??-*: Build with a clean environment
The fix in 572f236169264, PR 276478, suggest a change SETENV->SETENVI.
Implement this for the PostgreSQL builds. This should fix builds
problems for some when building using portmaster.
PR: 278889
Reported by: O. Hartmann |
16.3 09 May 2024 22:34:46 |
Palle Girgensohn (girgen) |
databases/postgresql??-*: Update to latest versions
PostgreSQL 16.3, 15.7, 14.12, 13.15, and 12.19 Released!
The PostgreSQL Global Development Group has released an update to all
supported versions of PostgreSQL, including 16.3, 15.7, 14.12, 13.15,
and 12.19. This release fixes one security vulnerability and over 55
bugs reported over the last several months.
Please note that the fix in this release for CVE-2024-4317 only fixes
fresh PostgreSQL installations, namely those that are created with the
initdb utility after this fix is applied. If you have a current
PostgreSQL installation and are concerned about this issue, please
follow the additional updating instructions provided in the
CVE-2024-4317 description or the release notes for the remediation. [1] (Only the first 15 lines of the commit message are shown above ) |
16.2 08 Feb 2024 21:28:36 |
Palle Girgensohn (girgen) |
databases/postgresql??-*: Update to latest version
The PostgreSQL Global Development Group has released an update to all
supported versions of PostgreSQL, including 16.2, 15.6, 14.11, 13.14,
and 12.18. This release fixes one security vulnerability and over 65
bugs reported over the last several months.
If you use GIN indexes, you may need to reindex after updating to this
release. Please see the release notes for more information.
URL: https://www.postgresql.org/about/news/postgresql-162-156-1411-1314-and-1218-released-2807/
Release notes: https://www.postgresql.org/docs/release/
Security: 19e6dd1b-c6a5-11ee-9cd0-6cc21735f730 |
16.1_5 23 Jan 2024 19:56:16 |
Muhammad Moinur Rahman (bofh) |
databases/postgresql1*: Impelled to share/man
Approved by: portmgr (blanket) |
16.1_4 14 Jan 2024 10:00:18 |
Palle Girgensohn (girgen) |
postgresql??-server: fix rc script bug when using profiles
Submitted by: John W. O'Brien |
16.1_3 11 Jan 2024 21:50:31 |
Palle Girgensohn (girgen) |
databases/postgresql??-server: honour login class set in /etc/passwd
If postgresql_login_class is not set, honour the setting in /etc/passwd.
The previous commit ignored the passwd setting and set the login class
to "default" if it was left unset.
PR: 275851 |
16.1_2 31 Dec 2023 00:37:05 |
Muhammad Moinur Rahman (bofh) |
*/*: Sunset 12.4-RELEASE/12-STABLE from ports tree
- Remove all references to defunct ARCH arm
- Remove all references to defunct ARCH sparc64
- Remove x11-drivers/xf86-video-sunffb which requires defunct sparc64
ARCH
- Remove sysutils/afbinit requires defunct sparc64 ARCH
- Remove all references to bktr driver
- Remove all references to defunct FreeBSD_12
- Remove all references to OSVERSION/OSREL corresponding to 12
- Remove conditionals in Mk/Uses/cabal.mk
- Remove sparc reference from Mk/Uses/qt-dist.mk
- Remove BROKEN_sparc64/NOT_FOR_ARCH=sparc64
- Remove BROKEN_FreeBSD_12* from:
- Remove OpenSSL patches from:
- Remove conditional flags for OSVERSION >= 1300000 to fixed flags.
Also move conditional flags for non sparc64/arm ARCH to fixed flags.
Reviewed by: brooks, jbeich, rene, salvadore
Differential Revision: https://reviews.freebsd.org/D42068 |
16.1_2 28 Dec 2023 10:20:24 |
Palle Girgensohn (girgen) |
databases/postgresql??-server: Properly set login class at start
PR: 275851 (submitted by takeda at takeda.tk) |
16.1_1 17 Nov 2023 11:46:00 |
Jan Beich (jbeich) |
devel/icu: update to 74.1
Changes: https://github.com/unicode-org/icu/releases/tag/release-74-1
Reported by: GitHub (watch releases)
PR: 274317
Exp-run by: antoine (incomplete)
Approved by: fluffy |
16.1 09 Nov 2023 15:09:19 |
Palle Girgensohn (girgen) |
databases/postgresql??-*: update to latest version
PostgreSQL 16.1, 15.5, 14.10, 13.13, 12.17, and 11.22 Released!
The PostgreSQL Global Development Group has released an update to all
supported versions of PostgreSQL, including 16.1, 15.5, 14.10, 13.13,
12.17, and 11.22 This release fixes three security vulnerabilities and
over 55 bugs reported over the last several months.
Release
notes: https://www.postgresql.org/about/news/postgresql-161-155-1410-1313-1217-and-1122-released-2749/
Security: CVE-2023-5868, CVE-2023-5869, CVE-2023-5870
Security: 31f45d06-7f0e-11ee-94b4-6cc21735f730
Security: 0f445859-7f0e-11ee-94b4-6cc21735f730
Security: bbb18fcb-7f0d-11ee-94b4-6cc21735f730 |
16.0 14 Sep 2023 15:50:28 |
Palle Girgensohn (girgen) |
databases/postgresql16-*: Update to 16.0
The PostgreSQL Global Development Group today announced the release of
PostgreSQL 16, the latest version of the world's most advanced open
source database.
PostgreSQL 16 raises its performance, with notable improvements to query
parallelism, bulk data loading, and logical replication. There are many
features in this release for developers and administrators alike,
including more SQL/JSON syntax, new monitoring stats for your workloads,
and greater flexibility in defining access control rules for management
of policies across large fleets.
Read about more improvements in the release notes, for example about
Performance Improvements, Logical replication, Developer Experience,
Access Control & Security and Monitoring.
Release
notes: https://www.postgresql.org/about/news/postgresql-16-released-2715/ |
16.r1 31 Aug 2023 13:54:38 |
Palle Girgensohn (girgen) |
databases/postgresql16-*: update to 16rc1
Release
notes: https://www.postgresql.org/about/news/postgresql-16-rc1-released-2702/ |
16.b3 10 Aug 2023 14:13:24 |
Palle Girgensohn (girgen) |
databases/postgresql??-*: Update to latest versions.
PostgreSQL 15.4, 14.9, 13.12, 12.16, 11.21, and PostgreSQL 16 Beta 3
Released.
The PostgreSQL Global Development Group has released an update to all
supported versions of PostgreSQL, including 15.4, 14.9, 13.12, 12.16,
and 11.21, as well as the third beta release of PostgreSQL 16. This
release fixes two security vulnerabilities and over 40 bugs reported
over the last several months.
If you use BRIN indexes to look up NULL values, you will need to reindex
them after upgrading to this release. On PostgreSQL 12 and above, you
can use REINDEX CONCURRENTLY to avoid blocking writes to the affected
index and table, for example:
REINDEX INDEX CONCURRENTLY your_index_name;
Also, remove the patch for postgresql.conf.sample suggesting to turn off
update_process_title [1], since it is no longer a problem.
Release
notes: https://www.postgresql.org/about/news/postgresql-154-149-1312-1216-1121-and-postgresql-16-beta-3-released-2689/
[1]: https://commitfest.postgresql.org/19/1715/ |
16.b2 05 Jul 2023 14:13:08 |
Palle Girgensohn (girgen) |
databases/postgresql16-*: update to 16.beta2
Release
notes: https://www.postgresql.org/about/news/postgresql-16-beta-2-released-2665/ |
16.b1 05 Jul 2023 14:12:20 |
Palle Girgensohn (girgen) |
databases/postgresql15-server: fix build with clang 16 (as system compiler)
databases/postgresql??-server: use the default LLVM
Always use the version of LLVM that is default for the ports tree,
if PostgreSQL builds with it. This simplifies the build process.
For i386, revert to using clang -msse2 instead of pulling in gcc. CPUs
older than Pentium5 do not support SSE2 and the binary will not run
there. We are not expected to support ancient hardware forever, so I've
added a comment recommending users of ancient CPUs to build from ports
using gcc.
During an exp-run for llvm 16 (see bug 271047), it turned out that
databases/postgresql15-server failed to build with clang 16 as the base (Only the first 15 lines of the commit message are shown above ) |
16.b1 05 Jul 2023 14:11:39 |
Palle Girgensohn (girgen) |
databases/postgresql16-*: Introduce postgresql16 beta 1
URL: https://www.postgresql.org/about/news/postgresql-16-beta-1-released-2643/
Release notes: https://www.postgresql.org/docs/16/release-16.html |
Number of commits found: 18
|