| Age | Commit message (Collapse) | Author |
|
That case was broken in old 9.1 releases, fixed since 9.1.7.
The sequence will be owned by extension and without tagging
it will not be dumped in data dump.
|
|
|
|
|
|
mostly works now.
only problem is that londiste_writer needs to be
superuser because of session_replication_role.
That can be fixed with secdef function, but that
means code needs to be installed separately.
|
|
Quoting was not done previosly as the table names
come not from user input but from internal tables.
But understanding whether it's safe in particular setup requires
extra thinking which is not good. So to remove the need for thinking,
lets quote everything properly.
|
|
This means it's value will be lost during dump+restore.
|
|
Keep installing old module files under contrib/ still.
|
|
This is attempt for fine-grained access rights for all
Skytools SQL schemas. As it still needs review,
the rights are not activated by default, instead
following sql files are generated:
newgrants_<schema>.sql - applies new rights, drop old public access
oldgrants_<schema>.sql - restores old rights - public execute
privilege to all functions
Only thing that is active by default is creation of new
groups in upgrade functions.
New access roles:
pgq_reader
Can consume queues (source-side)
pgq_writer
Can write into queues (source-side / dest-side)
Can use pgq_node/pgq_ext schema as regular
consumer (dest-side)
pgq_admin
Admin operations on queues, required for CascadedWorker on dest-side.
Member of pgq_reader and pgq_writer.
londiste_reader
Member of pgq_reader, needs additional read access to tables.
(source-side)
londiste_writer
Member of pgq_admin, needs additional write access to tables.
(dest-side)
|
|
By Hannu Krosing, applied with some fixing
|
|
- use 'structure/upgrade.sql' to generate X.upgrade.sql
- add pgq_ext to upgraded schemas
- move non-standard upgrade scripts to extra/
- setup_skytools: build sql files in 'build' target, not always
- pgq_ext.version: bump ver to 3.0.0.1
|
|
|
|
|
|
|
|
Supports create batch of several ticks and also forced lag.
|
|
also remove silly co_name default.
|
|
For use by pgq_coop.
|
|
Badly designed and unused concept. If such thing is needed
it's much better to handle them via actual queue.
|
|
|
|
|
|
|
|
Helper function to fetch batch events using a cursor.
|
|
As PgQ can split batches only on transaction boundaries,
it does not tolerate huge number of events inserted by one TX.
This batch adds per-queue field queue_per_tx_limit, which can be
set to reasonable number and PgQ will enforce the limit, by throwing
error if event counts gets larger, thus rollbacking the problematic TX.
Such limit also adds possibility to survive UPDATE/DELETE statements,
where the WHERE clause is missing or buggy.
|
|
- almost usable ALTER QUEUE
- simple feedback for non-show commands
|
|
To allow sharing retry events between coop consumers,
the simplest way is to make then share same sub_id.
So remove any assumptions from the code that
sub_id is unique.
This patch also fixes 2 long-standing bugs:
- pgq.retry_queue had double index
- pgq.subscription.batch_id did not had index
As both had only minor effect on performance, they went
unnoticed so long.
|
|
structure:
- event_seq field for pgq.tick table, to store last value
from event_id_seq
- 'disabled' field for pgq.queue, which can disable any
direct inserts to queue. inserts are allowed only
if session_role = 'replica'
functions:
- pgq.next_batch_info() as next_batch() but returns full details
- pgq.ticker(): now contains ticker logic that previously
was located in python code - it uses the event_seq field
in tick table to know about last sequence value
- pgq.insert_event_raw() - check disabled flag
- pgq.seq_getval() / pgq.seq_setval() functions for safe
sequence variable manipulation
- remove denytriga, now regular triggers can play the role
- use OUT parameters instead of ret types
- pgq.force_tick(): silently ignore the request on disabled queues
- pgq.maint_retry_events(): fwd port bugfix from 2.1-stable
- pgq.maint_rotate_tables(): cleanup from 2.1-stable
- pgq.maint_tables_to_vacuum(): add more tables
- triggers/common.c: bugfix from 2.1-stable
|
|
- let AdminScript detect number of args by introspection
- track event_id_seq downstream
- on rename update subscribers too
- slightly more fleshed out switchover
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|