hawq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex (Oleksandr) Diachenko" <odiache...@pivotal.io>
Subject Re: PXF HCatalog Issue for Non-Super User
Date Mon, 30 Jan 2017 19:51:53 GMT
Gagan,

Correct, that's was a mandatory condition for HCatalog intergration to work
properly before the HAWQ-1130 fix.

Regards, Alex.

On Mon, Jan 30, 2017 at 11:30 AM, Gagan Brahmi <gaganbrahmi@gmail.com>
wrote:

> Appreciate that info Alex. Granting SELECT or SUPERUSER only viable
> workaround for this problem for now. Is that a right understanding?
>
>
> Regards,
> Gagan Brahmi
>
> On Mon, Jan 30, 2017 at 12:07 PM, Alex (Oleksandr) Diachenko <
> odiachenko@pivotal.io> wrote:
>
> > Hi Gagan,
> >
> > The issue you described was a real limitation before
> > https://issues.apache.org/jira/browse/HAWQ-1130 was reported.
> > As for now the issue was resolved and targeted for next
> 2.1.0.0-incubating
> > open-source release.
> >
> > Regards, Alex.
> >
> >
> > On Mon, Jan 30, 2017 at 10:08 AM, Gagan Brahmi <gaganbrahmi@gmail.com>
> > wrote:
> >
> >> Hi All,
> >>
> >> I am not sure if anyone has faced issue for a non-privileged HAWQ user
> >> while access hive table using HCatalog. The issue is encountered when a
> >> non-privileged user tries to query the hive table (hive_table) under any
> >> database (default in this example) using hcatalog
> >> (hcatalog.default.hive_table).
> >>
> >> However, when you describe the table (\d) there is no issue encountered.
> >>
> >> I have tested this on HDB 2.0.0 and HDB 2.0.1.
> >>
> >> For the non-privileged user the following is the behavior when trying to
> >> access the data using SELECT:
> >>
> >> --------------------
> >>
> >> postgres=> SELECT * FROM hcatalog.default.hive_table;
> >> ERROR:  permission denied for relation pg_authid
> >> LINE 1: SELECT COUNT(*) FROM hcatalog.default.hive_table;
> >>                              ^
> >> CONTEXT:  SQL statement "SELECT max(oid) FROM (SELECT max(oid) AS oid
> FROM
> >> pg_extprotocol UNION ALL SELECT max(oid) AS oid FROM pg_partition UNION
> >> ALL
> >> SELECT max(oid) AS oid FROM pg_partition_rule UNION ALL SELECT max(oid)
> AS
> >> oid FROM pg_filespace UNION ALL SELECT max(oid) AS oid FROM
> pg_compression
> >> UNION ALL SELECT max(oid) AS oid FROM pg_filesystem UNION ALL SELECT
> >> max(oid) AS oid FROM pg_foreign_data_wrapper UNION ALL SELECT max(oid)
> AS
> >> oid FROM pg_foreign_server UNION ALL SELECT max(oid) AS oid FROM
> >> pg_database UNION ALL SELECT max(oid) AS oid FROM pg_type UNION ALL
> SELECT
> >> max(oid) AS oid FROM pg_proc UNION ALL SELECT max(oid) AS oid FROM
> >> pg_class
> >> UNION ALL SELECT max(oid) AS oid FROM pg_attrdef UNION ALL SELECT
> max(oid)
> >> AS oid FROM pg_constraint UNION ALL SELECT max(oid) AS oid FROM
> >> pg_operator
> >> UNION ALL SELECT max(oid) AS oid FROM pg_opclass UNION ALL SELECT
> max(oid)
> >> AS oid FROM pg_am UNION ALL SELECT max(oid) AS oid FROM pg_language
> UNION
> >> ALL SELECT max(oid) AS oid FROM pg_rewrite UNION ALL SELECT max(oid) AS
> >> oid
> >> FROM pg_trigger UNION ALL SELECT max(oid) AS oid FROM pg_cast UNION ALL
> >> SELECT max(oid) AS oid FROM pg_namespace UNION ALL SELECT max(oid) AS
> oid
> >> FROM pg_conversion UNION ALL SELECT max(oid) AS oid FROM pg_tablespace
> >> UNION ALL SELECT max(oid) AS oid FROM pg_resqueue UNION ALL SELECT
> >> max(oid)
> >> AS oid FROM pg_authid UNION ALL SELECT max(oid) AS oid FROM
> >> pg_user_mapping) AS x"
> >>
> >> postgres=> SELECT * FROM hcatalog.default.hive_table;
> >> ERROR:  database does not have enough available Oids to support HCatalog
> >> queries
> >> LINE 1: SELECT * FROM hcatalog.default.hive_table;
> >>                       ^
> >> HINT:  Database VACUUM may recycle unused Oids.
> >>
> >>
> >> postgres=> \d hcatalog.default.hive_table
> >>
> >>                                                     PXF Hive Table
> >> "default.hive_table"
> >>  Column | Type
> >> --------+------
> >>  id     | int4
> >>  fname  | text
> >>  lname  | text
> >>
> >> --------------------
> >>
> >> I was able to get around this problem by granting SELECT on pg_authid
> and
> >> pg_user_mapping table which fixes the underlying query to grab the max
> >> Oid.
> >>
> >> Is this is a known issue or is there any better workaround for this
> >> behavior? Or anything other than granting the user SUPERUSER privileges?
> >>
> >>
> >> Regards,
> >> Gagan Brahmi
> >>
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message