mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Remove support for upgrading extensions from "unpackaged" state.
Andres Freund pointed out that allowing non-superusers to run "CREATE EXTENSION ... FROM unpackaged" has security risks, since the unpackaged-to-1.0 scripts don't try to verify that the existing objects they're modifying are what they expect. Just attaching such objects to an extension doesn't seem too dangerous, but some of them do more than that. We could have resolved this, perhaps, by still requiring superuser privilege to use the FROM option. However, it's fair to ask just what we're accomplishing by continuing to lug the unpackaged-to-1.0 scripts forward. None of them have received any real testing since 9.1 days, so they may not even work anymore (even assuming that one could still load the previous "loose" object definitions into a v13 database). And an installation that's trying to go from pre-9.1 to v13 or later in one jump is going to have worse compatibility problems than whether there's a trivial way to convert their contrib modules into extension style. Hence, let's just drop both those scripts and the core-code support for "CREATE EXTENSION ... FROM". Discussion: https://postgr.es/m/20200213233015.r6rnubcvl4egdh5r@alap3.anarazel.de
This commit is contained in:
@ -7,7 +7,7 @@ OBJS = \
|
||||
|
||||
EXTENSION = btree_gin
|
||||
DATA = btree_gin--1.0.sql btree_gin--1.0--1.1.sql btree_gin--1.1--1.2.sql \
|
||||
btree_gin--1.2--1.3.sql btree_gin--unpackaged--1.0.sql
|
||||
btree_gin--1.2--1.3.sql
|
||||
PGFILEDESC = "btree_gin - B-tree equivalent GIN operator classes"
|
||||
|
||||
REGRESS = install_btree_gin int2 int4 int8 float4 float8 money oid \
|
||||
|
@ -1,119 +0,0 @@
|
||||
/* contrib/btree_gin/btree_gin--unpackaged--1.0.sql */
|
||||
|
||||
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
|
||||
\echo Use "CREATE EXTENSION btree_gin FROM unpackaged" to load this file. \quit
|
||||
|
||||
ALTER EXTENSION btree_gin ADD function gin_btree_consistent(internal,smallint,anyelement,integer,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_int2(smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_int2(smallint,smallint,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_int2(smallint,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family int2_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class int2_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_int4(integer,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_int4(integer,integer,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_int4(integer,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family int4_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class int4_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_int8(bigint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_int8(bigint,bigint,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_int8(bigint,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family int8_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class int8_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_float4(real,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_float4(real,real,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_float4(real,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family float4_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class float4_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_float8(double precision,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_float8(double precision,double precision,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_float8(double precision,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family float8_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class float8_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_money(money,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_money(money,money,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_money(money,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family money_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class money_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_oid(oid,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_oid(oid,oid,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_oid(oid,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family oid_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class oid_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_timestamp(timestamp without time zone,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_timestamp(timestamp without time zone,timestamp without time zone,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_timestamp(timestamp without time zone,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family timestamp_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class timestamp_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_timestamptz(timestamp with time zone,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_timestamptz(timestamp with time zone,timestamp with time zone,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_timestamptz(timestamp with time zone,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family timestamptz_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class timestamptz_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_time(time without time zone,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_time(time without time zone,time without time zone,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_time(time without time zone,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family time_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class time_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_timetz(time with time zone,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_timetz(time with time zone,time with time zone,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_timetz(time with time zone,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family timetz_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class timetz_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_date(date,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_date(date,date,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_date(date,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family date_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class date_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_interval(interval,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_interval(interval,interval,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_interval(interval,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family interval_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class interval_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_macaddr(macaddr,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_macaddr(macaddr,macaddr,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_macaddr(macaddr,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family macaddr_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class macaddr_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_inet(inet,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_inet(inet,inet,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_inet(inet,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family inet_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class inet_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_cidr(cidr,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_cidr(cidr,cidr,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_cidr(cidr,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family cidr_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class cidr_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_text(text,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_text(text,text,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_text(text,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family text_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class text_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator family varchar_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class varchar_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_char("char",internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_char("char","char",smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_char("char",internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family char_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class char_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_bytea(bytea,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_bytea(bytea,bytea,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_bytea(bytea,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family bytea_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class bytea_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_bit(bit,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_bit(bit,bit,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_bit(bit,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family bit_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class bit_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_varbit(bit varying,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_varbit(bit varying,bit varying,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_varbit(bit varying,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD operator family varbit_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class varbit_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_value_numeric(numeric,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_compare_prefix_numeric(numeric,numeric,smallint,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_extract_query_numeric(numeric,internal,smallint,internal,internal);
|
||||
ALTER EXTENSION btree_gin ADD function gin_numeric_cmp(numeric,numeric);
|
||||
ALTER EXTENSION btree_gin ADD operator family numeric_ops using gin;
|
||||
ALTER EXTENSION btree_gin ADD operator class numeric_ops using gin;
|
Reference in New Issue
Block a user