Chinook数据库创建脚本在其文本字段中包含所有西方语言字符,因此我无法将它们插入到新的设置为UTF-8的PostgreSQL数据库中。
PgAdmin III也无法加载该脚本(使用SQlite则没有问题)。
Chinook数据库创建脚本在其文本字段中包含所有西方语言字符,因此我无法将它们插入到新的设置为UTF-8的PostgreSQL数据库中。
PgAdmin III也无法加载该脚本(使用SQlite则没有问题)。
$ createdb chinook
$
可以使用psql在新创建的数据库上运行创建代码。如果您正在操作远程数据库,请用连接字符串替换chinook。
-1选项将整个文件作为一个事务运行,确保您不会在服务器上得到部分完成的数据库。
&>errorlog.txt会将结果输出到errorlog.txt文件中。
$ psql chinook -1 -f ~/Path/To/Download/chinook_pg_serial_pk_proper_naming.sql &>errorlog.txt
$
现在应该检查数据是否正确加载。您可以使用PGAdmin或Postico,但也可以通过命令行使用psql的\d命令轻松检查。以下是一个示例:
再次提醒,如果远程连接,请将chinook替换为连接字符串
$ psql chinook
psql (10.1)
Type "help" for help.
chinook=# \d
List of relations
Schema | Name | Type | Owner
--------+--------------------------------+----------+----------
public | actor | table | pmitdev1
public | actor_actor_id_seq | sequence | pmitdev1
public | album | table | pmitdev1
public | album_album_id_seq | sequence | pmitdev1
public | artist | table | pmitdev1
public | artist_artist_id_seq | sequence | pmitdev1
public | category | table | pmitdev1
public | category_category_id_seq | sequence | pmitdev1
public | customer | table | pmitdev1
public | customer_customer_id_seq | sequence | pmitdev1
public | employee | table | pmitdev1
public | employee_employee_id_seq | sequence | pmitdev1
public | film | table | pmitdev1
public | film_actor | table | pmitdev1
public | film_category | table | pmitdev1
public | film_film_id_seq | sequence | pmitdev1
public | genre | table | pmitdev1
public | genre_genre_id_seq | sequence | pmitdev1
public | invoice | table | pmitdev1
public | invoice_invoice_id_seq | sequence | pmitdev1
public | invoice_line | table | pmitdev1
public | invoiceline_invoiceline_id_seq | sequence | pmitdev1
public | media_type | table | pmitdev1
public | mediatype_mediatype_id_seq | sequence | pmitdev1
public | playlist | table | pmitdev1
public | playlist_playlist_id_seq | sequence | pmitdev1
public | playlist_track | table | pmitdev1
...
psql
而不是pgAdmin吗? - user330315psql -f Chinook_PostgreSql.sql
对我起作用了。 - user330315