postgresql – 通过psql运行SQL脚本会产生PgAdmin中不会出现的语法错误

我有以下脚本来创建一个表:
-- Create State table.
DROP TABLE IF EXISTS "State" CASCADE;
CREATE TABLE "State" (
 StateID SERIAL PRIMARY KEY NOT NULL,StateName VARCHAR(50)
);

它在PgAdmin的查询工具中运行良好.但是当我尝试使用psql从命令行运行它时:

psql -U postgres -d dbname -f 00101-CreateStateTable.sql

我收到语法错误,如下所示.

2: ERROR:  Syntax error at or near ""
LINE 1: 
        ^
psql:00101-CreateStateTable.sql:6: NOTICE:  CREATE TABLE will create implicit sequence "State_stateid_seq" for serial column "State.stateid"
psql:00101-CreateStateTable.sql:6: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "State_pkey" for table "State"
CREATE TABLE

为什么我使用psql而不是pgAdmin会出现语法错误

通过十六进制转储程序运行您的文件00101-CreateStateTable.sql.我敢打赌你在文件的开头有一个UTF-16标记(在“ – ”注释字符之前).

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...