Как добавить комментарии в Pgadmin

Здравствуйте,

может кто-нибудь подсказать в чем моя ошибка при выполнении следующих действий:
Необходимо добавить комментарии, на русском, к автоматически создаваемым таблицам в постгрессе.
То есть когда в PgAdmin раскрывается список
“Servers\Databases\имя моей базы \Schemas\ имя моей схемы \” и выделяется список созданных таблиц, то что бы у каждой таблицы в списке «Table, Owner, Comment» был комментарий на русском языке. И когда выделяешь определенную таблицу, то что бы у каждого столбца был комментарий на русском языке. (Комментарии на английском получаются и все хорошо)

Пытаюсь выполнить это создание комментариев следующим образом
запускаю cmd файл с вот такими записями

chcp 1251
SET PGPASSWORD=user1234
pause
"c:\Program Files\PostgreSQL\9.3\bin\psql.exe" -U postgres --no-password -f settings11.sql
pause

где код settings11.sql

--Creating Role
CREATE ROLE FMBZ_user WITH LOGIN PASSWORD 'FMBZ_user' SUPERUSER CREATEDB CREATEROLE;
UPDATE pg_authid SET rolcatupdate=false WHERE rolname='FMBZ_user';
--Creating DB
CREATE DATABASE "FMBZ_Base" WITH ENCODING='UTF8' OWNER=FMBZ_user TABLESPACE = DEFAULT;
SET client_encoding=win866;
SET SESSION ROLE FMBZ_user;
SET SESSION AUTHORIZATION FMBZ_user;
\connect FMBZ_Base;
CREATE SCHEMA FMBZ_schema AUTHORIZATION FMBZ_user;
CREATE TABLE FMBZ_schema.Table_AccountFIO (
	id SERIAL NOT NULL,
    id_AccountIdentifier numeric CONSTRAINT firstkey PRIMARY KEY,
    id_LastName          text,
    id_FirstName         text,
    id_MiddleName        text,
    id_BirthDay          text
);
ALTER TABLE FMBZ_schema.Table_AccountFIO OWNER TO FMBZ_user;
COMMENT ON TABLE fmbz_schema.table_accountfio IS 'мамам';

Сам sql файл в нотепад++
Если sql файл в кодировке win1251
в комментариях к таблице “АРАБСКАЯ ВЯЗЬ” то есть кракозябры.
Если sql файл в кодировке UTF8 то,
происходит ошибка
psql:settings11.sql:46: ERROR: character with byte sequence 0x8f in encoding "W
IN1252" has no equivalent in encoding "UTF8"
хотя создается база, схема и таблица со столбцами, но без коментов

Еще раз (только сильно не бейте):
Как добавить комментарии, на русском, к автоматически создаваемым таблицам в постгрессе?

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

На мой взгляд ошибка в том,

На мой взгляд ошибка в том, что вы говорите:
SET client_encoding=win866;
а кодировка при этом винюковая. Сделайте уж как положено.
Если у вас БД в UTF-8, то либо установить перавильный client_encoding либо скармливайте базе текст тоже в UTF-8.

комментарии на русском теперь

комментарии на русском теперь вставляются
SQL файлы написаны в нотепад++ в кодировке UTF8 without BOM

--------------------------------------------------------prepareDB3.cmd---------------------------------------------------------------
chcp 1251
SET PGPASSWORD=bars1234
"c:\Program Files\PostgreSQL\9.3\bin\psql.exe" -U postgres --no-password -f settings30.sql
pause
--------------------------------------------------------prepareDB4.cmd---------------------------------------------------------------
chcp 1251
"c:\Program Files\PostgreSQL\9.3\bin\psql.exe" --dbname FMBZ_Base --username fmbz_user -f settings31.sql
pause
--------------------------------------------------------settings30.sql---------------------------------------------------------------
--Creating Role
SET client_encoding = 'UTF8';
DROP ROLE IF EXISTS FMBZ_user;
CREATE ROLE FMBZ_user WITH LOGIN PASSWORD 'FMBZ_user' SUPERUSER CREATEDB CREATEROLE;
UPDATE pg_authid SET rolcatupdate=false WHERE rolname='FMBZ_user';
COMMENT ON ROLE fmbz_user IS 'мама';

CREATE DATABASE "FMBZ_Base"
WITH OWNER=FMBZ_user ENCODING='UTF8' TABLESPACE = DEFAULT;
COMMENT ON DATABASE "FMBZ_Base" IS 'папа и молоко и черный';
--------------------------------------------------------settings31.sql---------------------------------------------------------------
--Creating Role
SET client_encoding = 'UTF8';
CREATE SCHEMA FMBZ_user AUTHORIZATION FMBZ_user;
COMMENT ON SCHEMA FMBZ_user IS 'молоко';

CREATE TABLE FMBZ_user.Table_AccountFIO (
id SERIAL NOT NULL,
id_AccountIdentifier numeric CONSTRAINT firstkey PRIMARY KEY,
id_LastName text
);
ALTER TABLE FMBZ_user.Table_AccountFIO OWNER TO FMBZ_user;
COMMENT ON TABLE FMBZ_user.Table_AccountFIO IS 'чай';
COMMENT ON COLUMN fmbz_user.table_accountfio.id_lastname IS 'водка';

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023