无法制作表格

Dev*_*ard 1 php sql postgresql heroku

我最近创建了一个postgresql数据库但由于某种原因我不能在其中创建一个表.我是否可以从PHP脚本或终端创建它,我很好; 但我搜索了很多地方,找不到有用的东西.我之前在mysql中做了很多工作,但postgresql碰巧给了我一些问题.

我知道在我的php文件中我已正确连接到我的数据库,并且我已经运行了许多版本的此脚本(在pg_connect之后插入):

$tsk1 = pg_query("
CREATE TABLE IF NOT EXISTS `elb` (
  `id` int(8) NOT NULL AUTO_INCREMENT,
  `user` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
  `pass` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
  `name` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`_id`),
  UNIQUE KEY `_user` (`_user`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3");
Run Code Online (Sandbox Code Playgroud)

而我也试过了

  $tsk1 = pg_query("
        CREATE TABLE IF NOT EXISTS 'elb' (
          'id' int(8),
          'user' varchar(128),
          'pass' varchar(128),
          'name' varchar(128),
         ");
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个,但得到了500错误.而且我知道我已连接,因为我尝试更改密码中的一个字符并返回"无法连接".

<?php
$dbconn = pg_connect("host=hostname port=portnum dbname=mydb user=myuser password=mypass sslmode=require options='--client_encoding=UTF8'") or die('Could not connect: ' . pg_last_error()); 

$sql = pg_query('CREATE TABLE "elb" (
  "id" int(8),
  "user" varchar(128),
  "pass" varchar(128),
  "name" varchar(128)
)');

?>
Run Code Online (Sandbox Code Playgroud)

ara*_*nid 5

int(8)在PostgreSQL中没有意义,它int是一个32位整数(又名int4),bigint是一个64位整数(又名int8).

如果您收集并报告了实际的数据库错误消息(应该在数据库日志文件中)而不是简单地说"500错误",那么您将更容易诊断.