Class PostgresqlUrlParser
java.lang.Object
io.opentelemetry.instrumentation.jdbc.internal.parser.PostgresqlUrlParser
- All Implemented Interfaces:
JdbcUrlParser
Parses PostgreSQL JDBC connection strings.
Sample URLs:
- postgresql://host:5432/db
- postgresql://host/db?user=postgres
- postgresql://user@host/db
- pgsql://host:5432/db
- postgresql://host/db?currentSchema=myschema
PostgreSQL defaults to localhost:5432 when host/port are not specified.
This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoidparse(String jdbcUrl, ParseContext ctx) Parse the JDBC URL and populate the context with extracted information.
-
Field Details
-
INSTANCE
-
-
Method Details
-
parse
Description copied from interface:JdbcUrlParserParse the JDBC URL and populate the context with extracted information.Implementations are responsible for the full parsing lifecycle:
- Set driver-specific defaults (system name, default host/port/user)
- Call
ParseContext.applyDataSourceProperties()orParseContext.applyUserProperty()at the appropriate point to match driver-specific precedence semantics. UseapplyUserProperty()for drivers whose DataSource does not support the standard serverName/portNumber/databaseName properties. - Parse the URL structure
The placement of
ParseContext.applyDataSourceProperties()controls precedence:- Before URL parsing: URL values take precedence (e.g., PostgreSQL, MySQL, Oracle)
- After URL parsing: DataSource properties take precedence (e.g., Microsoft SQL Server)
- Specified by:
parsein interfaceJdbcUrlParser- Parameters:
jdbcUrl- the JDBC URL to parse (without the "jdbc:" prefix)ctx- the parse context containing type and optional DataSource properties
-