Commit Graph

374 Commits (c21a3de00def9c34b0738630e0ba4a83432d46fd)

Author SHA1 Message Date
Diego Fronza c21a3de00d PG-286: Avoid duplicate queries in text buffer.
The memory area reserved for query text (pgsm_query_shared_buffer) was
divided evenly for each bucket, this allowed to have the same query,
e.g. "SELECT 1", duplicated in different buckets, thus wasting space.

This commit fix the query text duplication by adding a new hash table
whose only purpose is to verify if a given query is already added to the
buffer (by using the queryID).

This allows different buckets that share the same query to point to a
unique entry in the query buffer (pgss_qbuf).

When pg_stat_monitor moves to a new bucket id, by avoiding adding a
query that already exists in the buffer it can also save some CPU time.
2022-02-17 19:46:35 +05:00
Umair Shahid b3c7ba8c60 Update README.md
Proposed changes for https://jira.percona.com/browse/PG-155
2022-02-17 19:45:55 +05:00
Diego Fronza 7d92b3ac59 PG-290: Fix crash when enabling debugging log level on PostgreSQL.
There were couple issues to handle, the main one was that our log hook
(pgsm_emit_log_hook) was being called after the shared memory hook
completed (pgss_shmem_startup) but before PostgreSQL boostraping code
finished, thus triggering the following assertion during a call to
LWLockAcquire():
Assert(!(proc == NULL && IsUnderPostmaster));

proc is a pointer to MyProc, a PostgreSQL's shared global variable that
was not yet initalized by PostgreSQL.

We must also check for a NULL pointer return in pg_get_backend_status()
the pgstat_fetch_stat_local_beentry() function may return a NULL pointer
during initialization, in which case we use "127.0.0.1" for the client
address, and "postmaster" for application name.
2022-02-17 19:45:55 +05:00
Evgeniy Patlan 07438dfee3 Fix rpm packaging 2022-02-17 19:45:55 +05:00
Vadim Yalovets e391405444 DISTPG-349 restored spec file 2022-02-17 19:45:55 +05:00
Vadim Yalovets ff4a672557 DISTPG-349 modify build script 2022-02-17 19:45:54 +05:00
Vadim Yalovets b636098fbc DISTPG-349 modify build script 2022-02-17 19:45:54 +05:00
Vadim Yalovets f65dea874c DISTPG-349 modify control.in 2022-02-17 19:45:54 +05:00
Vadim Yalovets 7decd18e03 DISTPG-349 modify control.in 2022-02-17 19:45:54 +05:00
Vadim Yalovets f1041ed053 DISTPG-349 Change Copyright 2022-02-17 19:45:54 +05:00
Vadim Yalovets 6990508d8a DISTPG-349 Modify Description 2022-02-17 19:45:54 +05:00
Vadim Yalovets 2a6cf2a354 DISTPG-349 modified build script 2022-02-17 19:45:54 +05:00
Vadim Yalovets da73cfb70b DISTPG-349 modified build script 2022-02-17 19:45:54 +05:00
Vadim Yalovets a939265018 DISTPG-349 modified build script 2022-02-17 19:45:50 +05:00
Vadim Yalovets 2b55326bda DISTPG-349 modified build script 2022-02-17 19:45:28 +05:00
Vadim Yalovets d8ca6ad50a DISTPG-349 modified build script 2022-02-17 19:45:28 +05:00
Vadim Yalovets 87ebfd4f79 DISTPG-349 modified build script 2022-02-17 19:45:28 +05:00
Vadim Yalovets 7756a8c0cb DISTPG-349 modified build script 2022-02-17 19:45:28 +05:00
Vadim Yalovets 45ad5e9d1a DISTPG-353 PG Debian Requirement: the Description is overflowing 2022-02-17 19:45:28 +05:00
Vadim Yalovets 77f2facf64 DISTPG-349 PG Debian Requirement: Remove dependency on Percona PostgreSQL 2022-02-17 19:45:27 +05:00
Vadim Yalovets e9ee3b8107 DISTPG-348-pg_stat_monitor-Update-directory-structure-for-Debian-packaging-files 2022-02-17 19:45:27 +05:00
Oleksandr Miroshnychenko d05f6d8e3b
Merge pull request #143 from vorsel/1.0.0-2
DISTPG-7 update debian rules for 1.0.0-rc.1 version
2021-11-29 10:51:54 +02:00
Oleksandr Miroshnychenko 3b155bd643 DISTPG-7 fir debian rules for 1.0.0-rc.1 version 2021-11-26 16:47:00 +02:00
Ibrar Ahmed 8fe7676923 PG-284: Bump version to 1.0.0-rc.1. 2021-11-24 18:55:13 +00:00
Ibrar Ahmed 269c8bc62c
Merge pull request #142 from nastena1606/PG-285-Doc-order-of-extensions
PG-285 Doc: Order of modules
2021-11-24 16:52:31 +05:00
Anastasia Alexadrova f7275071cd PG-285 Doc: Order of modules
Added a note about strict order of modules for PG 13 and earlier versions

modified:   README.md
2021-11-24 12:47:06 +02:00
Ibrar Ahmed a1e9526b51
Merge pull request #141 from darkfronza/PG-234_fix_load_of_pgsm_and_pgss
PG-234: Fix loading both pg_stat_monitor and pg_stat_statements.
2021-11-24 13:32:49 +05:00
Diego Fronza 47e84f96c3 PG-234: Fix loading both pg_stat_monitor and pg_stat_statements.
If both modules are loaded then pg_stat_monitor detects that and avoid
calling standard_ProcessUtility() in ProcessUtility_hook hook, as
calling it twice is an error and triggers an assertion on PostgreSQL.

On PostgreSQL 13, pg_stat_monitor must be loaded after
pg_stat_statements, as pg_stat_statements doesn't do such verifications,
it end calling standard_ProcessUtility() and other functions even if
another module is registered, that is an error.

They fixed this problem with pg_stat_statements in PostgreSQL 14 and onward.
2021-11-22 15:13:30 -03:00
Ibrar Ahmed 96fde5931c
Merge pull request #140 from nastena1606/PG-210-Doc-Update-column-names-for-PG14-master
PG-210 Doc: Updated column names depending on PG version
2021-11-17 16:58:00 +05:00
Anastasia Alexadrova bb7fd54b74 PG-210 Doc: Updated column names depending on PG version
added a footenote about toplevel being available starting from PG14 only

modified:   docs/COMPARISON.md
	modified:   docs/REFERENCE.md
2021-11-17 13:27:56 +02:00
Ibrar Ahmed ac2aaec72f
Merge pull request #139 from EvgeniyPatlan/master
DISTPG-307: update pg_stat_stat_monitor
2021-11-17 11:28:23 +05:00
Evgeniy Patlan 892a117487 DISTPG-307 update pg_stat_stat_monitor 2021-11-17 07:52:52 +02:00
Ibrar Ahmed 6cf798416e
Update README.md 2021-11-17 01:42:55 +05:00
Ibrar Ahmed 973cb16d34
Update README.md 2021-11-17 01:42:10 +05:00
Ibrar Ahmed 0248c1fe5e Rename workflows. 2021-11-16 20:41:04 +00:00
Ibrar Ahmed ff7d82be6e
Update README.md 2021-11-17 01:38:24 +05:00
Ibrar Ahmed a0c848749c
Update README.md 2021-11-17 01:36:38 +05:00
Ibrar Ahmed 88523792f5 Rename workflows. 2021-11-16 20:30:34 +00:00
Ibrar Ahmed 5e2b107471
Update README.md 2021-11-17 01:20:08 +05:00
Ibrar Ahmed b5cbd98ae8
Update and rename pg11test.yml to postgresql-11-build.yml 2021-11-17 01:19:32 +05:00
Ibrar Ahmed 5d06977110
Merge pull request #138 from darkfronza/PG-277_fix_regression_pgsm_overflow_target_defaults
PG-277: Fix regression tests (pgsm_overflow_target defaults).
2021-11-17 01:13:42 +05:00
Diego Fronza c577750538 PG-277: Fix regression tests (pgsm_overflow_target defaults).
Adjust guc_1.out to match guc.out defaults for pgsm_overflow_target.
2021-11-16 16:31:44 -03:00
Ibrar Ahmed d3725790d4 Regression Fix. 2021-11-16 12:01:46 +00:00
Ibrar Ahmed 74dd7c80d8 Regression Fix. 2021-11-16 11:46:15 +00:00
Ibrar Ahmed c8d7209149 PG-273: pg_stat_monitor_hook_stats disable to end user. 2021-11-16 11:38:21 +00:00
Ibrar Ahmed 680c7fda42 PG-210: Add new column toplevel. 2021-11-16 11:23:59 +00:00
Ibrar Ahmed 5f6177daa3 PG-210: Add new column toplevel. 2021-11-16 10:48:11 +00:00
Ibrar Ahmed 6ea5a8991c
Merge pull request #135 from percona/devel
Devel
2021-11-14 20:15:30 +05:00
Ibrar Ahmed 351f4e4644
Merge pull request #134 from darkfronza/PG-276_fix_regression_tests
PG-276: Fix regression tests.
2021-11-14 20:15:10 +05:00
Diego Fronza 0a45fc740f PG-276: Fix regression tests.
The guc_1.out is used for PG >= 13, where query track planning is
available, so it has been restored.
2021-11-12 16:55:51 -03:00