]> git.joonet.de Git - adminer.git/commitdiff
PostgreSQL: Create PRIMARY KEY for auto increment columns
authorJakub Vrana <jakub@vrana.cz>
Mon, 8 Feb 2021 13:00:38 +0000 (14:00 +0100)
committerJakub Vrana <jakub@vrana.cz>
Mon, 8 Feb 2021 13:00:38 +0000 (14:00 +0100)
adminer/drivers/pgsql.inc.php
changes.txt

index b5a47ac9b6c2b7c4ed337be58a744d2a20e481e7..ef2fee5c64837f14c43e26fe81f99c6d2e752a38 100644 (file)
@@ -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]";
index 3349181a47091ca5e362ff0de264485498126ad3..8d551eb03d50c109f7356c4e57149de4953e4fa7 100644 (file)
@@ -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):