Version 0.28
- column compression support with ALTER COLUMN SET COMPRESSION
- use correct routine type in ddlx_grants()
- test updates for Postgres 17
- fixed bug with duplicate foreign key constraints for self referencing tables
- few more functions have comments
Version 0.27
- include
GRANTED BY
when grantor is distinct from current role
- include table partitions in a script,
nopartitions
option to omit
- new
nocomments
option to hide all comments
- new
comments
option to show all comments, even null ones
- more execute tests
- bug fixes in script order, now much better!
- bug fixes in
GENERATED
columns
- improved
CREATE TYPE
for base types, shell types support
- improved dropping of indexes which are really constraints
- improved support for publications (columns and qualifiers)
- improved handling of owned sequences
- compatibility improvements with old postgres versions
Version 0.26
- added new
lite
option, which moves defaults and constraints into create table
section, as per patch by
electric-sql
- more
lite
option improvements, remove some other postgres specific things (settings and storage)
nowrap
option for scripts to omit begin/end
nostorage
option to omit storage settings
nosettings
option to omit settings
notriggers
option to omit triggers
- added
CREATE SEQUENCE
+ALTER SEQUENCE
for owned sequences
- updated tests for postgres 16
- new execute tests which actually run generated scripts
- bug fixes
Version 0.23
- new function
ddlx_createonly()
to create pre-data stuff only.
This includes ddl, comments, storage, defaults, settings and owner
but not conststraints, indexes, triggers etc.
Use ddlx_alter()
to create those after the data is loaded.
- more use of explicit casts
ddlx_create_trigger()
improvements by PegoraroF10, now with replica and always triggers
- change
sysid
in some places to oid
- include electric-sql build system
Version 0.22
- new function
ddlx_alter()
to create SQL ALTER
statements
- new option
nodrop
to omit drop statements alltogether
- bug fix - avoid duplicate indexes on partitioned tables
- bug fix - omit inherited constraints from subpartitions
- pg_amproc and pg_amop objects are now ommited from ddlx_script depends
- but they are now included in
ddlx_create_operator_class()
- put a comment on
DROP TABLE
statements to make them stand out
Version 0.21
- support for extensions
- improvements to
ddlx_create_collation()
- added
IF NOT EXISTS
in a few more places
- new options
nodcl
,noowner
,nogrants
,noalter
- owner now dumped only if distinct from current role or option
owner
is specified
- disabled subscriptions on pg < 14 to make all of this usable to non superusers
- one can still dump subscriptions with
ddlx_create_subscription()
function
Version 0.20
- new internal function
ddlx_definitions()
to return different parts of object definition
ddlx_create()
now uses this
- implemented option
ine
for adding IF NOT EXISTS
in some places
- implemented option
ie
for adding IF EXISTS
in some places
- implemented option
drop
to include drop statements in a script.
- demoted a bunch of overloaded
ddlx_create()
functions, now it all goes through ddlx_create(oid)
ddlx_grants()
is now more consistent
Version 0.19
ddlx_apropos()
now uses POSIX instead of SQL regular expressions
- Postgres 14 test fail fix
Version 0.18
- bug fix in create_event_trigger()
- ddlx_identify() now more correctly identifies regtype vs regclass objects
- exclude objects from extensions unless
ext
option is specified
- added .travis.yml
Version 0.17
- improved support for Postgres 13 (added missing test files)
- updated tests
Version 0.16
- support for GENERATED columns
Version 0.15
- added parameter ddlx_options text[] to a bunch of functions
- bug fixes WRT dropped attributes
- added ddlx_apropos(pattern) function to search queries (functions and views) matching a pattern
- support for ALTER TABLE ENABLE/FORCE ROW LEVEL SECURITY
- support for publications and subscriptions
- pg12 test fixes
Version 0.14
- improved for Postgres 12 (WITH OIDS is deprecated)
Version 0.13
- support for ALTER TABLE ALTER COLUMN SET configurations (attoptions)
- support for ALTER TABLE ALTER COLUMN SET STATISTICS (attstattarget)
- support for materialized views WITH NO DATA
- some support for tables OF type (still missing not nulls)
- better handling of SERIAL columns, particularly in scripts
- CLUSTER now also works for constraint indexes + name bugfix
- ddlx_create(regrole) now works for non-superusers + other bugfixes
- partition key now displayed correctly thanks to pg_get_partkeydef(oid)
- slightly reworked some of the queries in ddlx_get_* functions to make them a lot faster :)
- added tests for index fillfactor and not valid constraints
- removal of obsolete pg_attrdef.adsrc
- misc bug fixes: operator name, better 9.1 compatibility
Version 0.12
- support CLUSTER table USING index
- support for disabled triggers
- support for policies (row level security)
- support for statistics
- support for grants on foreign data wrappers and servers
- support for ALTER DATABASE SET configurations
- some support for partitioning
- some support for operator classes, pg_amproc, pg_amop
- added new ddlx_alter_class(regclass) (internal) function, for post data DDL
- more use of format() function for speed and readability
- slight refactoring removing some code duplication
Version 0.11
- support for column grants
- support for fdw options on columns
- function ddlx_get_dependants_recursive() rolled into ddlx_get_dependants()
- removed redundant column ‘kind’ from ddlx_identify()
- bug fix in create enum
Version 0.10
- pg 11 compatible, but it runs on older versions from 9.1 on
- fix ddlx_script(text) dependants bug
- support for languages and transforms
- support for databases
- support for tablespaces
- support for rules
- support for column storage parameters
- some support for access methods
- some support for operator families
- added column ‘acl’ to ddlx_identify()
- new ddlx_grants(oid) function
- ddlx_get_dependants_recursive() is faster
- better storage parameter output in ddlx_describe()
- preprocessor for specific pg version
- more use of format() function for speed and readability
- some code cleanup for speed and readability
- bug fixes
Version 0.9
- renamed extension to ddlx
- API rename pg_ddlx -> ddlx (it is long enough)
- support for event triggers
- support for foreign data wrappers
- support for foreign servers
- support for foreign user mappings
- support for text search configurations (regconfig)
- support for text search dictionaries (regdictionary)
- support for text search parsers and templates
- support for casts
- support for collations
- support for conversions
- permission fixes for non superusers
- renamed pg_ddlx_get_columns function to ddlx_describe
- improved script formatting
- improved regression tests
- bug fixes for ddlx_drop
Version 0.8
- API rename pg_ddl -> pg_ddlx (think DDL eXtractor)
- add pg_ddlx_create(oid) and pg_ddlx_drop(oid) functions to API
- pg_ddlx_script() now also includes dependant objects
and wraps the whole thing with BEGIN/END
- support for regoper, regoperator
- support for regnamespace (grants are missing!)
- fix pg_ddlx_get_triggers() (TRUNCATE and INSTEAD supported)
- more slight banner changes
- more use of format() function for speed and readability
Version 0.7
- pg_ddl_oid_info() renamed to pg_ddl_identify() and improved with new types
- pg_ddl_script() now works for oid and text arguments
- pg_ddl_script(oid) also handles constraints, triggers and defaults
- slight banner change
- use of format() function for speed and readability
- added pg_ddl_get_dependants() internal function
- aggregate support (not for ordered yet!)
Version 0.6
- support for regroles
- support for collations on domains
- support for range types
Version 0.5
- support for foreign tables
- support for reloptions (alter view set)
- bugfix when printing [] before typmod
Version 0.4
- initial support for base types
- do not dump owner grants on classes
- use CREATE OR REPLACE in extension
- empty index name bug fix
Version 0.3
- support for column collations
Version 0.2
- bug fixes
- added META.json
Version 0.1