Marko Kreen [Mon, 9 Jul 2012 09:47:02 +0000 (12:47 +0300)]
londiste.periodic_maintenance: cleanup for applied_execute
Marko Kreen [Mon, 9 Jul 2012 09:39:07 +0000 (12:39 +0300)]
londiste.applied_execute: drop queue_name from pkey
Reason - we want execute work also when parallel queues
from partitioned databases are merged together into
single queue. Thus we need to be able to detect if same
changes have been applied through different queue.
Marko Kreen [Mon, 9 Jul 2012 09:36:36 +0000 (12:36 +0300)]
londiste execute: fix filter
Marko Kreen [Fri, 6 Jul 2012 11:23:32 +0000 (14:23 +0300)]
londiste replay: skip provider checks if copy_node is used
Because the table does not need to exist on current provider then.
Perhaps it would be safer to go and check this new node,
but copy can wait for good state on its own too.
Marko Kreen [Thu, 5 Jul 2012 15:47:47 +0000 (18:47 +0300)]
londiste execute: support meta attributes in sql
THis allows use of EXECUTE in sitations where table
can be missing on few nodes.
Currenly, this needed to to be solved with temp update functions
that detect local situation or avoiding Londiste completely.
Both which are non-optimal solutions.
Marko Kreen [Thu, 5 Jul 2012 15:25:32 +0000 (18:25 +0300)]
skytools.exists_view(): new function
Marko Kreen [Thu, 5 Jul 2012 11:11:29 +0000 (14:11 +0300)]
londiste: Wait commands for londiste
add-table --wait-sync
Don't return until all pending tables are synced
wait-sync
Wait until all pending tables are synced.
wait-root
Wait until root's next tick has appeared locally.
wait-provider
Wait until provider's next tick has appeared locally.
Marko Kreen [Thu, 5 Jul 2012 11:09:32 +0000 (14:09 +0300)]
drop-node: move find_root before local drop
also put them into separate try/except blocks.
This should increase success rate, hopefully.
Suggested-By: Eero Oja
Marko Kreen [Tue, 3 Jul 2012 08:54:39 +0000 (11:54 +0300)]
sql_tokenizer: allow idents starting with underscore
Marko Kreen [Mon, 18 Jun 2012 14:26:02 +0000 (17:26 +0300)]
fileutil: write_atomic() for win32
win32 does not support atomic rename
Marko Kreen [Fri, 15 Jun 2012 13:53:34 +0000 (16:53 +0300)]
pgq.maint_rotate_tables: check txid sanity, fail if bad
Marko Kreen [Fri, 15 Jun 2012 13:50:35 +0000 (16:50 +0300)]
BaseScript: write pidfile atomically to avoid corrupt pidfiles.
Marko Kreen [Fri, 15 Jun 2012 13:36:32 +0000 (16:36 +0300)]
Move signal_pidfile to 'fileutil' module
Marko Kreen [Fri, 15 Jun 2012 13:32:06 +0000 (16:32 +0300)]
skytools.fileutil: new module, contains write_atomic()
Marko Kreen [Tue, 5 Jun 2012 12:43:33 +0000 (15:43 +0300)]
pgq_node.drop_node: mention node name in info message
Marko Kreen [Tue, 5 Jun 2012 10:25:17 +0000 (13:25 +0300)]
CascadedConsumer: re-initialize provider connection when location changes
This will avoid situation when connection is recreated with old connect string.
Marko Kreen [Tue, 5 Jun 2012 10:17:06 +0000 (13:17 +0300)]
handlers: improve documentation
Add docstrings to part, londiste, qtable, qsplitter, vtable handlers.
Marko Kreen [Tue, 5 Jun 2012 09:59:44 +0000 (12:59 +0300)]
londiste.handler: make encoding= param available to part & londiste handlers
- Move EncodingValidator from dispatch.py to handler.py
- Use it in TableHandler (londiste default)
- Thus it is inherited by 'part' handler too
Marko Kreen [Tue, 5 Jun 2012 08:23:33 +0000 (11:23 +0300)]
handlers.part: clarify COPY expression with braces
Marko Kreen [Mon, 4 Jun 2012 13:55:00 +0000 (16:55 +0300)]
Merge remote branch 'tarvi/master'
Tarvi Pillessaar [Mon, 4 Jun 2012 10:28:59 +0000 (13:28 +0300)]
update walmgr doc
Marko Kreen [Thu, 31 May 2012 17:05:14 +0000 (20:05 +0300)]
debian: build modules for all installed server-dev versions
Currently pg_buildext is designed for building official
Debian packages *only*, which makes is unusable for
users building for custom Postgres versions.
Fix:
- include pg_buildext (from 130~bpo60+1)
- patch it to print all installed versions
- include pgxs_debian_control.mk fragment
- use custom pg_buildext everywhere
I think this is bug in pg_buildext as official packages
can simply be built in deps-only environment.
Marko Kreen [Wed, 30 May 2012 13:14:01 +0000 (16:14 +0300)]
v3.0.3
Marko Kreen [Wed, 30 May 2012 12:46:31 +0000 (15:46 +0300)]
londiste add-table --expect-sync: don't check table existance on provider
Marko Kreen [Wed, 30 May 2012 08:16:24 +0000 (11:16 +0300)]
pgq_node.version(): 3.0.0.18
Marko Kreen [Wed, 30 May 2012 08:15:51 +0000 (11:15 +0300)]
pgq_node.drop_node(): forgot to remove raturn when planning fallthru
Marko Kreen [Tue, 29 May 2012 12:33:22 +0000 (15:33 +0300)]
londiste3.txt: describe --copy-node
Marko Kreen [Tue, 29 May 2012 12:31:49 +0000 (15:31 +0300)]
handlers.dispatch: try both new and old create_partition
Marko Kreen [Tue, 29 May 2012 10:39:37 +0000 (13:39 +0300)]
londiste.version(): 3.0.0.16
Marko Kreen [Tue, 29 May 2012 10:39:37 +0000 (13:39 +0300)]
pgq_node.version(): 3.0.0.17
Marko Kreen [Tue, 29 May 2012 10:32:40 +0000 (13:32 +0300)]
CascadedWorker: merge-leaf-to-branch needs to publish wm info
Somehow the functionality got lost.
Seems the area is in need of some cleanups to
make code more clear.
Marko Kreen [Mon, 28 May 2012 12:22:03 +0000 (15:22 +0300)]
handlers/dispatch: fix keep_all/keep_latest doc
Marko Kreen [Mon, 28 May 2012 10:54:48 +0000 (13:54 +0300)]
debian: add build-deps, force debian/control rebuild
debian/control:
Add build-dep of any of server-dev packages.
For some reason, server-dev-all does not depend on any
debian/rules:
Rebuild it via stamp file, otherwise its easily ignored
and modules package is left out from build.
Marko Kreen [Fri, 25 May 2012 14:16:38 +0000 (17:16 +0300)]
Merge remote branch 'intgit/master'
Marko Kreen [Fri, 25 May 2012 13:32:26 +0000 (16:32 +0300)]
sql/londiste: fix locale problem in londiste_merge test
We want fixed sort order here to get quick overview of combinations.
Use 'name' type to get non-locale sorting.
Reported-By: Cédric Villemain
Marko Kreen [Fri, 25 May 2012 13:31:53 +0000 (16:31 +0300)]
londiste.create_partitions: improved rule support
Marko Kreen [Fri, 25 May 2012 10:58:46 +0000 (13:58 +0300)]
public.create_partition: drop rule logic from here
No point maintaing it in two places.
Let the code stay as-is.
Marko Kreen [Fri, 25 May 2012 09:30:54 +0000 (12:30 +0300)]
signal_pidfile: support sig=0 on win32
To avoid pywin32 dependency for such basic functionality,
use kernel32.dll via ctypes directly.
Marko Kreen [Fri, 25 May 2012 09:27:28 +0000 (12:27 +0300)]
skytools.UsageError: remove noise word
Marko Kreen [Fri, 25 May 2012 08:53:36 +0000 (11:53 +0300)]
CascadeAdmin: add node name prefix messages from db
Marko Kreen [Fri, 25 May 2012 08:52:27 +0000 (11:52 +0300)]
pgq_node.drop_node: drop queue data even if node_info is empty
Marko Kreen [Thu, 24 May 2012 15:31:22 +0000 (18:31 +0300)]
londiste.version(): 3.0.0.15
Marko Kreen [Thu, 24 May 2012 15:31:22 +0000 (18:31 +0300)]
pgq_node.version(): 3.0.0.16
Marko Kreen [Thu, 24 May 2012 15:30:12 +0000 (18:30 +0300)]
create_partition: move under londiste schema
It is now generic enough so no custom modifications
are not needed anymore. So make it always-available.
Marko Kreen [Thu, 24 May 2012 15:17:40 +0000 (18:17 +0300)]
create_partition: special-case for public grant
Marko Kreen [Thu, 24 May 2012 15:11:42 +0000 (18:11 +0300)]
create_partition: also load rules from master table
Marko Kreen [Thu, 24 May 2012 14:43:03 +0000 (17:43 +0300)]
skytools.dbstruct: better rule name redirection
Old code did not handle WHERE, nor repeated
table references in rule.
Tarvi Pillessaar [Wed, 23 May 2012 13:09:45 +0000 (16:09 +0300)]
dbservice.get_record_list: do not use parse_pgarray on python lists
Marko Kreen [Tue, 22 May 2012 10:34:34 +0000 (13:34 +0300)]
skytools.scripting: catch EINTR from sleep()
Marko Kreen [Tue, 22 May 2012 09:58:54 +0000 (12:58 +0300)]
skytools.scripting: detect missing signals
Don't hook signals that are not supported by OS.
Needed for win32.
Marko Kreen [Mon, 21 May 2012 10:41:20 +0000 (13:41 +0300)]
pgq_node: refresh regtest
Marko Kreen [Mon, 21 May 2012 10:40:19 +0000 (13:40 +0300)]
pgq_node.unregister_location: do automatic unsubscribe
There may be obsolete subscriptions around, do unsubscribe
automatically, instead complaining.
Marko Kreen [Wed, 9 May 2012 13:25:46 +0000 (16:25 +0300)]
londiste remove-table: drop sequence too
Marko Kreen [Mon, 21 May 2012 07:41:16 +0000 (10:41 +0300)]
londiste.setup: UsageError requires module prefix
Marko Kreen [Mon, 21 May 2012 07:38:48 +0000 (10:38 +0300)]
handlers.part: fix typo
Marko Kreen [Thu, 17 May 2012 15:03:29 +0000 (18:03 +0300)]
londiste copy: copy table from another node
add-table: --copy-node=NODENAME, store it into table_attrs
copy: take node name from table_attrs
Marko Kreen [Thu, 17 May 2012 12:47:00 +0000 (15:47 +0300)]
skytools_upgrade: fix special cases
Marko Kreen [Wed, 16 May 2012 12:13:59 +0000 (15:13 +0300)]
londiste.find_table_oid: drop old version - 9.1+ panics when argument name changes
Marko Kreen [Wed, 16 May 2012 12:07:54 +0000 (15:07 +0300)]
sql/logtriga: compile on 9.1+
Marko Kreen [Tue, 15 May 2012 15:41:16 +0000 (18:41 +0300)]
handlers.dispatch: add comment about differences from part_func
If create_partitions() does not exist, the table is created
manually. But there are differences from how table is created.
Add comment about it, we might want to fix it someday.
Marko Kreen [Tue, 15 May 2012 11:20:47 +0000 (14:20 +0300)]
skytools_upgrade: show old version before upgrade
Marko Kreen [Tue, 15 May 2012 11:16:40 +0000 (14:16 +0300)]
pgq_node.create_node: create branch nodes with disable_insert set
This is the proper approach to avoid any unexpected events
in the queue. The flag is ignored if connection is in 'replica'
role, thus cascaded queueing continues to work.
Marko Kreen [Tue, 15 May 2012 09:49:23 +0000 (12:49 +0300)]
pgq.insert_event(): remove unused variable.
Marko Kreen [Tue, 15 May 2012 09:46:49 +0000 (12:46 +0300)]
pgq.insert_event: ignore disable_insert if in 'replica' role
Otherwise we cannot use insert_event on branch nodes.
We could allow it in 'local' role too, but another kind-of-valid
behaviour is to skip insert completely in 'local' role.
So until a valid use-case appers, don't ignore the flag
in 'local' role.
Marko Kreen [Tue, 15 May 2012 09:37:14 +0000 (12:37 +0300)]
Add more contributors
Tarvi Pillessaar [Fri, 11 May 2012 07:58:10 +0000 (10:58 +0300)]
Merge branch 'master' of internal-git:/git/dba/skytools-3
Marko Kreen [Thu, 10 May 2012 07:55:47 +0000 (10:55 +0300)]
v3.0.2
Marko Kreen [Thu, 10 May 2012 18:29:43 +0000 (21:29 +0300)]
Refresh debian packaging
Marko Kreen [Thu, 10 May 2012 18:01:40 +0000 (21:01 +0300)]
AUTHORS: Add contributors to 3.x branch
Marko Kreen [Thu, 10 May 2012 17:50:25 +0000 (20:50 +0300)]
Sync AUTHORS list from 2.1 branch
Sergey Burladyan [Thu, 10 May 2012 17:55:43 +0000 (20:55 +0300)]
walmgr: fix backup from slave
Current version improperly remove needed WAL files when creating backup from slave.
The minimum WAL file is file with REDO record, not with latest checkpoint itself.
Marko Kreen [Thu, 10 May 2012 16:19:31 +0000 (19:19 +0300)]
londiste.version(): 3.0.0.14
Marko Kreen [Thu, 10 May 2012 16:19:31 +0000 (19:19 +0300)]
pgq_node.version(): 3.0.0.15
Marko Kreen [Thu, 10 May 2012 16:19:31 +0000 (19:19 +0300)]
pgq.version(): 3.0.0.15
Marko Kreen [Thu, 10 May 2012 15:55:50 +0000 (18:55 +0300)]
Include simple_consumer script
Quick event processing by simply launching SQL
query for each event.
Forward-ported-by: Juta Vaks
Marko Kreen [Wed, 9 May 2012 13:23:46 +0000 (16:23 +0300)]
londiste: Always use TRUNCATE CASCADE
Otherwise the operation cannot play well with
foreign keys, on both slave and master.
Marko Kreen [Mon, 7 May 2012 09:01:37 +0000 (12:01 +0300)]
CascadedWorker: publish_local_wm() is missing a commit
Marko Kreen [Mon, 7 May 2012 09:01:17 +0000 (12:01 +0300)]
psycopgwrapper: allow name= argument to .cursor()
Marko Kreen [Wed, 2 May 2012 13:45:00 +0000 (16:45 +0300)]
Group-access roles for SQL functions (draft)
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)
Tarvi Pillessaar [Fri, 13 Apr 2012 08:57:22 +0000 (11:57 +0300)]
walmgr: add option for init-slave to add password from file to .pgpass
walmgr: add command synch-standby
Marko Kreen [Wed, 2 May 2012 12:34:14 +0000 (15:34 +0300)]
sql/pgq: use terse verbosity in regtests
Marko Kreen [Wed, 2 May 2012 12:29:07 +0000 (15:29 +0300)]
pgq.insert_event(): outer wrapper does not need to be secdef
Marko Kreen [Wed, 2 May 2012 12:28:08 +0000 (15:28 +0300)]
source.cfg: minor improvements
Marko Kreen [Wed, 2 May 2012 12:27:40 +0000 (15:27 +0300)]
handlers.part: make hash func configurable
Marko Kreen [Wed, 18 Apr 2012 12:54:22 +0000 (15:54 +0300)]
v3.0.1-real
Marko Kreen [Wed, 18 Apr 2012 12:50:58 +0000 (15:50 +0300)]
pgq_coop.version(): 3.0.0.4
Marko Kreen [Wed, 18 Apr 2012 12:50:58 +0000 (15:50 +0300)]
pgq_node.version(): 3.0.0.14
Marko Kreen [Wed, 18 Apr 2012 12:50:58 +0000 (15:50 +0300)]
pgq.version(): 3.0.0.14
Marko Kreen [Wed, 18 Apr 2012 12:46:31 +0000 (15:46 +0300)]
londiste.handlers.dispatch: Detailed exception if part_field is NULL
Give enough details to locate the event in queue
Marko Kreen [Mon, 9 Apr 2012 08:41:04 +0000 (11:41 +0300)]
skytools.skylog: make sysloghander compatible with both 2.6 and 2.7
Marko Kreen [Mon, 9 Apr 2012 08:23:33 +0000 (11:23 +0300)]
v3.0.1
Marko Kreen [Thu, 5 Apr 2012 14:25:10 +0000 (17:25 +0300)]
Merge remote branch 'intgit/master'
Marko Kreen [Thu, 5 Apr 2012 14:23:18 +0000 (17:23 +0300)]
Refresh libusual
Marko Kreen [Thu, 5 Apr 2012 11:40:41 +0000 (14:40 +0300)]
debian: include skytools.ini in tgz
Marko Kreen [Thu, 5 Apr 2012 11:04:26 +0000 (14:04 +0300)]
skylog: stop using standard SysLogHandler, it's broken
It fails to handle unicode strings - it puts BOM in
wrong place. Wrap logging.handlers implementation
in class that simply drops the BOM addition.
martinko [Mon, 2 Apr 2012 14:33:54 +0000 (16:33 +0200)]
skytools.config: improved compatibility with logging.Logger
Marko Kreen [Mon, 19 Mar 2012 09:55:46 +0000 (11:55 +0200)]
Merge remote branch 'intgit/master'
Marko Kreen [Sat, 17 Mar 2012 12:00:49 +0000 (14:00 +0200)]
v3.0
Marko Kreen [Sat, 17 Mar 2012 11:59:26 +0000 (13:59 +0200)]
debian: Use new htmlinstall target to get html docs
Marko Kreen [Fri, 16 Mar 2012 21:33:18 +0000 (23:33 +0200)]
source.cfg: improve source filters