Skip to content

Commit 2eca626

Browse files
Merge pull request #424 from diffix/cristian/misc
Allow all discovery queries over `pg_class`.
2 parents 1553c56 + 66304ca commit 2eca626

File tree

4 files changed

+4
-5
lines changed

4 files changed

+4
-5
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Changelog
2+
- Allow all discovery queries over `pg_class`.
23

34
## Version 1.0.3
45
- Reject unsupported column types during AID labeling.

src/query/allowed_objects.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,10 @@ static const char *const g_pg_catalog_allowed_rels[] = {
6060
"pg_publication_rel", "pg_rewrite", "pg_roles", "pg_seclabel", "pg_seclabels", "pg_sequence", "pg_settings", "pg_shadow",
6161
"pg_shdepend", "pg_shdescription", "pg_shseclabel", "pg_stat_gssapi", "pg_subscription", "pg_subscription_rel", "pg_tablespace",
6262
"pg_trigger", "pg_ts_config", "pg_ts_dict", "pg_ts_parser", "pg_ts_template", "pg_type", "pg_user", "pg_tables", "pg_matviews",
63-
"pg_indexes", "pg_proc" /* `pg_proc` contains `procost` and `prorows` but both seem to be fully static data. */
63+
"pg_indexes", "pg_class", "pg_proc" /* `pg_proc` contains `procost` and `prorows` but both seem to be fully static data. */
6464
};
6565

6666
static AllowedCols g_pg_catalog_allowed_cols[] = {
67-
/* In `pg_class` there is `reltuples` which must be blocked, causing some less annoying breakage in some clients. */
68-
{.rel_name = "pg_class", .col_names = {"tableoid", "oid", "relname", "relnamespace", "relowner", "relkind", "reloftype", "relam", "reltablespace", "reltoastrelid", "relhasindex", "relpersistence", "relchecks", "relhasrules", "relhastriggers", "relrowsecurity", "relforcerowsecurity", "relreplident", "relispartition", "relpartbound", "reloptions", "xmin", "reltoastrelid", "relispopulated", "relacl"}},
6967
{.rel_name = "pg_statistic_ext", .col_names = {"tableoid", "oid", "stxrelid", "stxname", "stxnamespace", "stxstattarget", "stxkeys", "stxkind"}},
7068
{.rel_name = "pg_stat_activity", .col_names = {"datname", "pid", "usename", "application_name", "client_addr", "backend_start", "xact_start", "query_start", "state_change", "wait_event_type", "wait_event", "state", "query", "backend_type", "client_hostname", "client_port", "backend_start", "backend_xid", "backend_xmin"}},
7169
/*

test/expected/validation.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ SELECT * FROM pg_stat_user_functions LIMIT 10;
461461
ERROR: permission denied for schema pg_catalog
462462
SELECT * FROM pg_stat_user_indexes LIMIT 10;
463463
ERROR: permission denied for schema pg_catalog
464-
SELECT * FROM pg_class LIMIT 10;
464+
SELECT * FROM pg_stat_activity LIMIT 10;
465465
ERROR: permission denied for schema pg_catalog
466466
-- Get rejected because of inheritance
467467
SELECT x, y FROM subclass;

test/sql/validation.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ SELECT * FROM pg_stats LIMIT 10;
237237
SELECT * FROM pg_statistic LIMIT 10;
238238
SELECT * FROM pg_stat_user_functions LIMIT 10;
239239
SELECT * FROM pg_stat_user_indexes LIMIT 10;
240-
SELECT * FROM pg_class LIMIT 10;
240+
SELECT * FROM pg_stat_activity LIMIT 10;
241241

242242
-- Get rejected because of inheritance
243243
SELECT x, y FROM subclass;

0 commit comments

Comments
 (0)