2016-09-02 2 views
0

Chinook сценарий создания базы данных содержит все символы западных языков в своих текстовых полей, так что я не могу вставить их в новую базу данных PostgreSQL, установленной на UTF-8Как загрузить базу данных Chinook в PostgreSQL?

PgAdmin III не удалось загрузить сценарий, а также (с помощью SQlite отлично) ,

+0

база данных с UTF-8 будет иметь возможность хранить «все символы западных языков». Что ** точно ** это ошибка, которую вы получаете? Вы пытались использовать 'psql' вместо pgAdmin? –

+0

'psql -f Chinook_PostgreSql.sql' работал для меня (после создания базы данных). –

+0

моя база данных chinook находится на кодировке = 'UTF8', LC_COLLATE = 'en_GB_UTF-8', LC_TYPE = ditto. – hmeftah

ответ

0

Короткий ответ на этот вопрос - использовать версию Джона Аттена, доступную here на его github. Остальная часть этого краткого руководства о том, как запустить это.

Ниже предполагается, что вы уже установили и запустили экземпляр PostgreSQL

Скачать SQL Script

Официальные версии сценариев Chinook можно найти here. Однако в момент написания стандартов стандарты для имен таблиц и столбцов в настоящее время соответствуют другим стандартам. Джон Аттен модифицировал официальную версию, чтобы следовать стандартам PostgreSQL, например, используя серийный тип, и он доступен here. Это версия, которую я использовал для этого процесса.

Создание базы данных

Выполнить команду для создания БД, в которой хранить базу данных Chinook. Для простоты это называется chinook.

$ createdb chinook 
$ 

Запустите загруженный файл с помощью Psql

Psql может быть использован для запуска кода создания на вновь созданной базы данных. Если вы работаете в удаленной базе данных, замените chinook на строку подключения.

-1 обрабатывает весь файл как транзакцию, гарантируя, что вы не получите частично заполненную базу данных на своем сервере.

&> errorlog.txt сохранит полученный результат в файле errorlog.txt.

$ psql chinook -1 -f ~/Path/To/Download/chinook_pg_serial_pk_proper_naming.sql &>errorlog.txt 
$ 

Тест БД для Убедитесь, что данные Loaded

Теперь вы должны проверить, если загружен правильно данные. Вы можете использовать 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 
... 
Смежные вопросы