diff --git a/CHANGELOG.md b/CHANGELOG.md index 746b0e56..1a6826a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Foreign key: Display new field in case of an error - PostgreSQL: Order NULL last - PostgreSQL: Display all SQL command warnings and only once +- PostgreSQL: Export serial as serial, not nextval() - PostgreSQL: Export schema in nextval() - PostgreSQL: Export schema in REFERENCES - Editor: Display tinyint(1) as checkbox (bug #1246, regression from 5.4.2) diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index 7b8ce1ce..e5fcaeec 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -946,6 +946,11 @@ AND typelem = 0" // fields' definitions foreach ($fields as $field) { + if ($field['default'] == "nextval('$status[Name]_$field[field]_seq')") { + $field['default'] = null; + $field['full_type'] = preg_replace('~int(eger)?~', 'serial', $field['full_type']); + } + $part = idf_escape($field['field']) . ' ' . $field['full_type'] . preg_replace('~(nextval\(\')([^.\']+\')~', '\1' . str_replace("'", "''", $status['nspname']) . '.\2', default_value($field)) . ($field['null'] ? "" : " NOT NULL");