From 9e74c0632fa2bd1d4c99e70ef35859c99221183f Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Mon, 8 Feb 2021 14:00:38 +0100 Subject: [PATCH] PostgreSQL: Create PRIMARY KEY for auto increment columns --- adminer/drivers/pgsql.inc.php | 11 +++++++---- changes.txt | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index b5a47ac9..ef2fee5c 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -491,7 +491,7 @@ ORDER BY connamespace, conname") as $row) { } function auto_increment() { - return (min_version(11) ? " PRIMARY KEY" : ""); + return ""; } function alter_table($table, $name, $fields, $foreign, $comment, $engine, $collation, $auto_increment, $partitioning) { @@ -508,11 +508,14 @@ ORDER BY connamespace, conname") as $row) { } else { $val5 = $val[5]; unset($val[5]); - if (isset($val[6]) && $field[0] == "") { // auto_increment - $val[1] = ($val[1] == " bigint" ? " big" : ($val[1] == " smallint" ? " small" : " ")) . "serial"; - } if ($field[0] == "") { + if (isset($val[6])) { // auto_increment + $val[1] = ($val[1] == " bigint" ? " big" : ($val[1] == " smallint" ? " small" : " ")) . "serial"; + } $alter[] = ($table != "" ? "ADD " : " ") . implode($val); + if (isset($val[6])) { + $alter[] = ($table != "" ? "ADD" : " ") . " PRIMARY KEY ($val[0])"; + } } else { if ($column != $val[0]) { $queries[] = "ALTER TABLE " . table($name) . " RENAME $column TO $val[0]"; diff --git a/changes.txt b/changes.txt index 3349181a..8d551eb0 100644 --- a/changes.txt +++ b/changes.txt @@ -3,6 +3,7 @@ Skip date columns for non-date values in search anywhere Add DB version to comment in export Support PHP 8 in create table (regression from 4.7.9) MySQL 8: Fix EXPLAIN in SQL command +PostgreSQL: Create PRIMARY KEY for auto increment columns PostgreSQL PDO: Do not select NULL function for false values in edit Adminer 4.7.9 (released 2021-02-07):