pkgsrc/databases/postgresql81-client/Makefile

93 lines
2.6 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.9 2008/06/20 08:27:57 adam Exp $
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
PKGNAME= postgresql81-client-${BASE_VERS}
COMMENT= PostgreSQL database client programs
2006-11-05 18:42:30 +01:00
PKG_DESTDIR_SUPPORT= user-destdir
2006-03-21 07:39:33 +01:00
.include "../../databases/postgresql81/Makefile.common"
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
USE_TOOLS+= gzip tar
USE_LIBTOOL= yes
CONFIGURE_ARGS+= --with-openssl
CONFIGURE_ARGS+= --with-readline
CONFIGURE_ARGS+= --with-zlib
CONFLICTS+= postgresql81-lib-[0-9]*
CONFLICTS+= postgresql81-docs-[0-9]*
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
# 1. The thread-safety test in ${WRSRC}/src/tools/thread does not pass on
# NetBSD earler than 4.0 or DragonFly.
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
# 2. configure with --enable-thread-safety fails on OpenBSD.
#
.if (${OPSYS} == "NetBSD" && !empty(OS_VERSION:M[0-3].*)) || \
${OPSYS} == "DragonFly" || ${OPSYS} == "OpenBSD"
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
PGSQL_THREAD_SAFETY?= no
.endif
PGSQL_THREAD_SAFETY?= yes
BUILD_DEFS+= PGSQL_THREAD_SAFETY
.if !empty(PGSQL_THREAD_SAFETY:M[yY][eE][sS])
. include "../../mk/pthread.buildlink3.mk"
. if (${PTHREAD_TYPE} == "native")
CONFIGURE_ARGS+= --enable-thread-safety
. endif
.endif
INSTALL_DIRS= src/include
INSTALL_DIRS+= src/interfaces
INSTALL_DIRS+= src/port
INSTALL_DIRS+= src/bin
INSTALL_DIRS+= doc
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
BUILD_DIRS= ${INSTALL_DIRS}
# Without this, the Darwin build fails (related to -bundle_loader).
BUILD_DIRS+= src/backend
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
PKG_OPTIONS_VAR= PKG_OPTIONS.postgresql81-client
2006-03-21 07:39:33 +01:00
.include "../../databases/postgresql81/options.mk"
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
.for _file_ in pg_service.conf psqlrc
CONF_FILES+= ${PG_DATA_DIR}/${_file_}.sample ${PG_ETC_DIR}/${_file_}
.endfor
.if !empty(PG_SUBPREFIX)
PLIST_SUBST+= PG_DIRRM_SUBPREFIX="@dirrm ${PG_SUBPREFIX}"
.else
PLIST_SUBST+= PG_DIRRM_SUBPREFIX="@comment empty line"
.endif
# XXX work around core dumps with the native libedit
USE_GNU_READLINE= yes
.include "../../devel/readline/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
# On Solaris, avoid conflicts between "${SSLBASE}/include/openssl/des.h"
# and "/usr/include/crypt.h" -- we want the definitions in the former.
#
.if ${OPSYS} == "SunOS"
post-wrapper:
Changes 8.1.5: * Disallow aggregate functions in "UPDATE" commands, except within sub-SELECTs (Tom) The behavior of such an aggregate was unpredictable, and in 8.1.X could cause a crash, so it has been disabled. The SQL standard does not allow this either. * Fix core dump when an untyped literal is taken as ANYARRAY * Fix core dump in duration logging for extended query protocol when a "COMMIT" or "ROLLBACK" is executed * Fix mishandling of AFTER triggers when query contains a SQL function returning multiple rows (Tom) * Fix "ALTER TABLE ... TYPE" to recheck NOT NULL for USING clause (Tom) * Fix string_to_array() to handle overlapping matches for the separator string For example, string_to_array('123xx456xxx789', 'xx'). * Fix to_timestamp() for AM/PM formats (Bruce) * Fix autovacuum's calculation that decides whether "ANALYZE" is needed (Alvaro) * Fix corner cases in pattern matching for psql's \d commands * Fix index-corrupting bugs in /contrib/ltree (Teodor) * Numerous robustness fixes in ecpg (Joachim Wieland) * Fix backslash escaping in /contrib/dbmirror * Minor fixes in /contrib/dblink and /contrib/tsearch2 * Efficiency improvements in hash tables and bitmap index scans (Tom) * Fix instability of statistics collection on Win32 (Tom, Andrew) * Fix statement_timeout to use the proper units on Win32 (Bruce) In previous Win32 8.1.X versions, the delay was off by a factor of 100. * Fixes for MSVC and Borland C++ compilers (Hiroshi Saito) * Fixes for AIX and Intel compilers (Tom)
2006-10-18 18:31:24 +02:00
touch ${BUILDLINK_DIR}/include/crypt.h
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
.endif
pre-build:
${_PKG_SILENT}${_PKG_DEBUG}${_ULIMIT_CMD} \
cd ${WRKSRC}/src/backend && \
Changes 8.1.5: * Disallow aggregate functions in "UPDATE" commands, except within sub-SELECTs (Tom) The behavior of such an aggregate was unpredictable, and in 8.1.X could cause a crash, so it has been disabled. The SQL standard does not allow this either. * Fix core dump when an untyped literal is taken as ANYARRAY * Fix core dump in duration logging for extended query protocol when a "COMMIT" or "ROLLBACK" is executed * Fix mishandling of AFTER triggers when query contains a SQL function returning multiple rows (Tom) * Fix "ALTER TABLE ... TYPE" to recheck NOT NULL for USING clause (Tom) * Fix string_to_array() to handle overlapping matches for the separator string For example, string_to_array('123xx456xxx789', 'xx'). * Fix to_timestamp() for AM/PM formats (Bruce) * Fix autovacuum's calculation that decides whether "ANALYZE" is needed (Alvaro) * Fix corner cases in pattern matching for psql's \d commands * Fix index-corrupting bugs in /contrib/ltree (Teodor) * Numerous robustness fixes in ecpg (Joachim Wieland) * Fix backslash escaping in /contrib/dbmirror * Minor fixes in /contrib/dblink and /contrib/tsearch2 * Efficiency improvements in hash tables and bitmap index scans (Tom) * Fix instability of statistics collection on Win32 (Tom, Andrew) * Fix statement_timeout to use the proper units on Win32 (Bruce) In previous Win32 8.1.X versions, the delay was off by a factor of 100. * Fixes for MSVC and Borland C++ compilers (Hiroshi Saito) * Fixes for AIX and Intel compilers (Tom)
2006-10-18 18:31:24 +02:00
env ${MAKE_ENV} ${MAKE_PROGRAM} ${BUILD_MAKE_FLAGS} \
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
../../src/include/parser/parse.h \
../../src/include/utils/fmgroids.h
post-install:
cd ${WRKSRC}/doc; for file in \
FAQ* KNOWN_BUGS MISSING_FEATURES README.* TODO \
bug.template; \
do \
2006-11-05 18:42:30 +01:00
${INSTALL_DATA} $$file ${DESTDIR}${PG_DOC_DIR}/$$file; \
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
done
2006-11-05 18:42:30 +01:00
cp -R ${WRKSRC}/doc/TODO.detail ${DESTDIR}${PG_DOC_DIR}
chown -R ${DOCOWN}:${DOCGRP} ${DESTDIR}${PG_DOC_DIR}/TODO.detail
Initial import of PostgreSQL 8.1.3, from pkgsrc-wip. This is an overview of new features in 8.1.0 against 8.0.x. 8.1.3 includes many bug fixes since 8.1.0. Please read documentation of the detailed changes and procedure of data migration. Overview Major changes in this release: Improve concurrent access to the shared buffer cache (Tom) Access to the shared buffer cache was identified as a significant scalability problem, particularly on multi-CPU systems. In this release, the way that locking is done in the buffer manager has been overhauled to reduce lock contention and improve scalability. The buffer manager has also been changed to use a "clock sweep" replacement policy. Allow index scans to use an intermediate in-memory bitmap (Tom) In previous releases, only a single index could be used to do lookups on a table. With this feature, if a query has "WHERE tab.col1 = 4 and tab.col2 = 9", and there is no multicolumn index on col1 and col2, but there is an index on col1 and another on col2, it is possible to search both indexes and combine the results in memory, then do heap fetches for only the rows matching both the col1 and col2 restrictions. This is very useful in environments that have a lot of unstructured queries where it is impossible to create indexes that match all possible access conditions. Bitmap scans are useful even with a single index, as they reduce the amount of random access needed; a bitmap index scan is efficient for retrieving fairly large fractions of the complete table, whereas plain index scans are not. Add two-phase commit (Heikki Linnakangas, Alvaro, Tom) Two-phase commit allows transactions to be "prepared" on several computers, and once all computers have successfully prepared their transactions (none failed), all transactions can be committed. Even if a machine crashes after a prepare, the prepared transaction can be committed after the machine is restarted. New syntax includes "PREPARE TRANSACTION" and "COMMIT/ROLLBACK PREPARED". A new system view pg_prepared_xacts has also been added. Create a new role system that replaces users and groups (Stephen Frost) Roles are a combination of users and groups. Like users, they can have login capability, and like groups, a role can have other roles as members. Roles basically remove the distinction between users and groups. For example, a role can: + Have login capability (optionally) + Own objects + Hold access permissions for database objects + Inherit permissions from other roles it is a member of Once a user logs into a role, she obtains capabilities of the login role plus any inherited roles, and can use "SET ROLE" to switch to other roles she is a member of. This feature is a generalization of the SQL standard's concept of roles. This change also replaces pg_shadow and pg_group by new role-capable catalogs pg_authid and pg_auth_members. The old tables are redefined as read-only views on the new role tables. Automatically use indexes for MIN() and MAX() (Tom) In previous releases, the only way to use an index for MIN() or MAX() was to rewrite the query as "SELECT col FROM tab ORDER BY col LIMIT 1". Index usage now happens automatically. Move /contrib/pg_autovacuum into the main server (Alvaro) Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from "postgresql.conf". Add shared row level locks using SELECT ... FOR SHARE (Alvaro) While PostgreSQL's MVCC locking allows "SELECT" to never be blocked by writers and therefore does not need shared row locks for typical operations, shared locks are useful for applications that require shared row locking. In particular this reduces the locking requirements imposed by referential integrity checks. Add dependencies on shared objects, specifically roles (Alvaro) This extension of the dependency mechanism prevents roles from being dropped while there are still database objects they own. Formerly it was possible to accidentally "orphan" objects by deleting their owner. While this could be recovered from, it was messy and unpleasant. Improve performance for partitioned tables (Simon) The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table. This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate "CHECK" constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.
2006-03-20 15:45:49 +01:00
.include "../../mk/bsd.pkg.mk"