From d9390f652700caa21e6b9ef5a62871e2bb088bc6 Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Thu, 8 Jun 2023 14:35:27 -0700 Subject: [PATCH 1/5] Allow installation without superuser --- pgml-extension/pgml.control | 1 + pgml-extension/src/api.rs | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pgml-extension/pgml.control b/pgml-extension/pgml.control index 413a44f34..49fb7016b 100644 --- a/pgml-extension/pgml.control +++ b/pgml-extension/pgml.control @@ -4,3 +4,4 @@ module_pathname = '$libdir/pgml' relocatable = false superuser = false schema = 'pgml' +trusted = true diff --git a/pgml-extension/src/api.rs b/pgml-extension/src/api.rs index 966ffb095..17c782477 100644 --- a/pgml-extension/src/api.rs +++ b/pgml-extension/src/api.rs @@ -71,13 +71,20 @@ pub fn python_package_version(name: &str) { #[pg_extern] pub fn validate_shared_library() { - let shared_preload_libraries: String = Spi::get_one( + let shared_preload_libraries: String = match Spi::get_one( "SELECT setting FROM pg_settings WHERE name = 'shared_preload_libraries' LIMIT 1", - ) - .unwrap() + ) { + Ok(value) => value, + Err(_) => { + warning!("`shared_preload_libraries` setting could not be checked, can't validate that `pgml` is configured correctly. \ + Make sure that `pgml` is added to `shared_preload_libraries` before using the extension. \ + Must be superuser or a member of pg_read_all_settings to examine `shared_preload_libraries`."); + return; + } + } .unwrap(); if !shared_preload_libraries.contains("pgml") { From b49958500475769a909e085227e114bb74afe34a Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Thu, 8 Jun 2023 14:38:32 -0700 Subject: [PATCH 2/5] Version bump --- pgml-extension/Cargo.lock | 2 +- pgml-extension/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pgml-extension/Cargo.lock b/pgml-extension/Cargo.lock index 4f0d05958..481460f6e 100644 --- a/pgml-extension/Cargo.lock +++ b/pgml-extension/Cargo.lock @@ -1754,7 +1754,7 @@ dependencies = [ [[package]] name = "pgml" -version = "2.5.1" +version = "2.5.2" dependencies = [ "anyhow", "blas", diff --git a/pgml-extension/Cargo.toml b/pgml-extension/Cargo.toml index 71992d481..4bc01de12 100644 --- a/pgml-extension/Cargo.toml +++ b/pgml-extension/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pgml" -version = "2.5.1" +version = "2.5.2" edition = "2021" [lib] From 2878161287a0e32731a896fc170976bf7fdb3e38 Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Thu, 8 Jun 2023 14:40:31 -0700 Subject: [PATCH 3/5] sql --- pgml-extension/sql/pgml--2.5.1--2.5.2.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pgml-extension/sql/pgml--2.5.1--2.5.2.sql diff --git a/pgml-extension/sql/pgml--2.5.1--2.5.2.sql b/pgml-extension/sql/pgml--2.5.1--2.5.2.sql new file mode 100644 index 000000000..e69de29bb From fa783c5b7e1feffc9075b7f33423c6ba2050aaed Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Thu, 8 Jun 2023 14:58:39 -0700 Subject: [PATCH 4/5] Allow non-superusers for real --- pgml-extension/pgml.control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgml-extension/pgml.control b/pgml-extension/pgml.control index 49fb7016b..e3e44ea53 100644 --- a/pgml-extension/pgml.control +++ b/pgml-extension/pgml.control @@ -2,6 +2,6 @@ comment = 'pgml: Created by the PostgresML team' default_version = '@CARGO_VERSION@' module_pathname = '$libdir/pgml' relocatable = false -superuser = false +superuser = true schema = 'pgml' trusted = true From 7d869cb8bc96bfcdfa99d80e14f80c55478a0c3e Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Thu, 8 Jun 2023 15:04:26 -0700 Subject: [PATCH 5/5] dont need this --- pgml-extension/src/api.rs | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/pgml-extension/src/api.rs b/pgml-extension/src/api.rs index 17c782477..966ffb095 100644 --- a/pgml-extension/src/api.rs +++ b/pgml-extension/src/api.rs @@ -71,20 +71,13 @@ pub fn python_package_version(name: &str) { #[pg_extern] pub fn validate_shared_library() { - let shared_preload_libraries: String = match Spi::get_one( + let shared_preload_libraries: String = Spi::get_one( "SELECT setting FROM pg_settings WHERE name = 'shared_preload_libraries' LIMIT 1", - ) { - Ok(value) => value, - Err(_) => { - warning!("`shared_preload_libraries` setting could not be checked, can't validate that `pgml` is configured correctly. \ - Make sure that `pgml` is added to `shared_preload_libraries` before using the extension. \ - Must be superuser or a member of pg_read_all_settings to examine `shared_preload_libraries`."); - return; - } - } + ) + .unwrap() .unwrap(); if !shared_preload_libraries.contains("pgml") { pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy