mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-24 01:40:00 +00:00
MINOR: Fix public schema lieage for postgres (#20548)
This commit is contained in:
parent
7402feba6f
commit
c16b3df547
@ -31,6 +31,7 @@ from metadata.ingestion.source.database.postgres.queries import POSTGRES_SQL_STA
|
||||
from metadata.ingestion.source.database.postgres.query_parser import (
|
||||
PostgresQueryParserSource,
|
||||
)
|
||||
from metadata.utils.db_utils import PUBLIC_SCHEMA
|
||||
from metadata.utils.logger import ingestion_logger
|
||||
|
||||
logger = ingestion_logger()
|
||||
@ -89,7 +90,7 @@ class PostgresLineageSource(PostgresQueryParserSource, LineageSource):
|
||||
aborted=self.get_aborted_status(row),
|
||||
databaseName=self.get_database_name(row),
|
||||
serviceName=self.config.serviceName,
|
||||
databaseSchema=self.get_schema_name(row),
|
||||
databaseSchema=self.get_schema_name(row) or PUBLIC_SCHEMA,
|
||||
duration=row.get("duration"),
|
||||
)
|
||||
except Exception as err:
|
||||
|
@ -18,6 +18,9 @@ from typing import Iterable
|
||||
|
||||
from metadata.generated.schema.api.lineage.addLineage import AddLineageRequest
|
||||
from metadata.generated.schema.entity.data.table import Table
|
||||
from metadata.generated.schema.entity.services.databaseService import (
|
||||
DatabaseServiceType,
|
||||
)
|
||||
from metadata.generated.schema.type.entityLineage import Source as LineageSource
|
||||
from metadata.ingestion.api.models import Either
|
||||
from metadata.ingestion.lineage.models import ConnectionTypeDialectMapper
|
||||
@ -33,6 +36,8 @@ from metadata.utils.logger import utils_logger
|
||||
|
||||
logger = utils_logger()
|
||||
|
||||
PUBLIC_SCHEMA = "public"
|
||||
|
||||
|
||||
def get_host_from_host_port(uri: str) -> str:
|
||||
"""
|
||||
@ -64,7 +69,7 @@ def get_view_lineage(
|
||||
schema_name=schema_name,
|
||||
table_name=table_name,
|
||||
)
|
||||
table_entity = metadata.get_by_name(
|
||||
table_entity: Table = metadata.get_by_name(
|
||||
entity=Table,
|
||||
fqn=table_fqn,
|
||||
)
|
||||
@ -79,6 +84,11 @@ def get_view_lineage(
|
||||
lineage_parser = LineageParser(
|
||||
view_definition, dialect, timeout_seconds=timeout_seconds
|
||||
)
|
||||
|
||||
if table_entity.serviceType == DatabaseServiceType.Postgres:
|
||||
# For Postgres, if schema is not defined, we need to use the public schema
|
||||
schema_name = PUBLIC_SCHEMA
|
||||
|
||||
if lineage_parser.source_tables and lineage_parser.target_tables:
|
||||
yield from get_lineage_by_query(
|
||||
metadata,
|
||||
|
Loading…
x
Reference in New Issue
Block a user