Первичный ключ Postgres как varchar не работает

#postgresql

Вопрос:

Прежде всего, могу ли я отдать Varchar за первичный ключ? Вот моя таблица создания;

 CREATE TABLE appinfo (
  app_id VARCHAR (30) PRIMARY KEY,
  app_secret VARCHAR ( 500 ) NOT NULL,
  app_name VARCHAR ( 255 ) NOT NULL,
  app_type VARCHAR ( 255 )  NOT NULL,
  prog_lang VARCHAR ( 255 )  NULL,
  description VARCHAR ( 255 )  NULL,
  created_on TIMESTAMP NOT NULL DEFAULT NOW()
);
 

И я пытаюсь вставить значение ниже

 INSERT INTO appinfo (app_id, app_secret, app_name, app_type)
  VALUES ('ABC1', 'aaaaaaabbbbbbccccccccc', 'AccountInfoAPI', 'API');
 

но это показывает, что ниже ошибка;

 ERROR:  invalid input syntax for type integer: "ABC1"
LINE 2:  VALUES ('ABC1', 'aaaaaaabbbbbbccccccccc', 'AccountInfoAPI...
 

Я очень новичок в Postgres, и я не уверен, откуда берется это целое число. Или это потому, что первичный ключ всегда целочислен в Postgres?

Комментарии:

1. Вы , очевидно, создали app_id себя как integer , а не как варчара, как вы утверждаете. Если app_id действительно объявлено как varchar , ваша вставка будет работать: dbfiddle.uk/…

2. Вы уверены, что подключились к той же базе данных и/или схеме для таблицы создания и последующего запроса. Как указано, Postgres не имеет проблем с первичными ключами varchar .