Support PostgreSQL

[expired user #10239]'s profile image [expired user #10239] posted 8 years ago in General Permalink

Hello! Need help! I don't see basedate - "delo".

It's log

/ Разделитель изменен на ; / / Подключение к 127.0.0.1 с помощью PostgreSQL (экспериментально), с именем пользователя postgres, используя пароль: Yes… / SELECT VERSION(); / Соединено. Идентификатор процесса: 5028 / SET statement_timeout TO 0; SELECT EXTRACT(EPOCH FROM CURRENT_TIMESTAMP - pg_postmaster_start_time())::INTEGER; SELECT "nspname" FROM "pg_catalog"."pg_namespace" ORDER BY "nspname"; SET search_path TO E'pg_catalog', E'public'; / Открытие сеанса «PostgresSQL» / SELECT , pg_table_size(QUOTE_IDENT(t.TABLE_SCHEMA) || E'.' || QUOTE_IDENT(t.TABLE_NAME))::bigint AS data_length, pg_relation_size(QUOTE_IDENT(t.TABLE_SCHEMA) || E'.' || QUOTE_IDENT(t.TABLE_NAME))::bigint AS index_length, c.reltuples, obj_description(c.oid) AS comment FROM "information_schema"."tables" AS t LEFT JOIN "pg_namespace" n ON t.table_schema = n.nspname LEFT JOIN "pg_class" c ON n.oid = c.relnamespace AND c.relname=t.table_name WHERE t."table_schema"=E'pg_catalog'; / Неизвестный идентификатор типа данных #1034 для «nspacl». Возврат к UNKNOWN. / / Неизвестный идентификатор типа данных #1034 для «relacl». Возврат к UNKNOWN. / / Неизвестный идентификатор типа данных #1009 для «reloptions». Возврат к UNKNOWN. */ SELECT "p"."proname" FROM "pg_catalog"."pg_namespace" AS "n" JOIN "pg_catalog"."pg_proc" AS "p" ON "p"."pronamespace" = "n"."oid" WHERE "n"."nspname"=E'pg_catalog';

3 attachment(s):
  • 1
  • 2
  • 3
ansgar's profile image ansgar posted 8 years ago Permalink

What you see in the left tree are not databases, these are schemata, or?

[expired user #10239]'s profile image [expired user #10239] posted 8 years ago Permalink

As I understand databases are displayed not only the schemas, but in the scheme - "public" managed to find a table - "users". Data Type in a field "email" is unknown. He was created with "domain"

P.S. Sorry for my bad english language, I am just russian man

3 attachment(s):
  • 1
  • 2
  • 3
ansgar's profile image ansgar posted 8 years ago Permalink

Oh your english is better than you might think, at least I have no bigger problems reading.

That unknown data type is an issue which I can probably fix. You could be so nice and watch out for a line in the lower SQL log panel, which says something like

Unknown datatype X. Fall back to UNKNOWN

Is that "X" = "DOMAIN"?

[expired user #10239]'s profile image [expired user #10239] posted 8 years ago Permalink

SELECT "p"."proname" FROM "pg_catalog"."pg_namespace" AS "n" JOIN "pg_catalog"."pg_proc" AS "p" ON "p"."pronamespace" = "n"."oid" WHERE "n"."nspname"=E'public'; SELECT CURRENT_USER; SELECT "p"."prosrc", "p"."proargnames", "p"."proargtypes", "p"."prorettype" FROM "pg_catalog"."pg_namespace" AS "n" JOIN "pg_catalog"."pg_proc" AS "p" ON "p"."pronamespace" = "n"."oid" WHERE "n"."nspname"=E'public'AND "p"."proname"=E'min';

/ Неизвестный идентификатор типа данных #1009 для «proargnames». Возврат к UNKNOWN. / / Неизвестный идентификатор типа данных #24589. Возврат к UNKNOWN. /

SELECT DISTINCT a.attname AS column_name, a.attnum, a.atttypid, FORMAT_TYPE(a.atttypid, a.atttypmod) AS data_type, CASE a.attnotnull WHEN false THEN E'YES' ELSE E'NO' END AS IS_NULLABLE, com.description AS column_comment, def.adsrc AS column_default, NULL AS character_maximum_length FROM pg_attribute AS a JOIN pg_class AS pgc ON pgc.oid = a.attrelid LEFT JOIN pg_description AS com ON (pgc.oid = com.objoid AND a.attnum = com.objsubid) LEFT JOIN pg_attrdef AS def ON (a.attrelid = def.adrelid AND a.attnum = def.adnum) WHERE a.attnum > 0 AND pgc.oid = a.attrelid AND pg_table_is_visible(pgc.oid) AND NOT a.attisdropped AND pgc.relname = E'users' ORDER BY a.attnum; WITH ndx_list AS ( SELECT pg_index.indexrelid, pg_class.oid FROM pg_index, pg_class WHERE pg_class.relname = E'users' AND pg_class.oid = pg_index.indrelid ), ndx_cols AS ( SELECT pg_class.relname, UNNEST(i.indkey) AS col_ndx, CASE i.indisprimary WHEN true THEN E'PRIMARY' ELSE CASE i.indisunique WHEN true THEN E'UNIQUE' ELSE E'KEY' END END AS CONSTRAINT_TYPE, pg_class.oid FROM pg_class JOIN pg_index i ON (pg_class.oid = i.indexrelid) JOIN ndx_list ON (pg_class.oid = ndx_list.indexrelid) )SELECT ndx_cols.relname AS CONSTRAINT_NAME, ndx_cols.CONSTRAINT_TYPE, a.attname AS COLUMN_NAME FROM pg_attribute a JOIN ndx_cols ON (a.attnum = ndx_cols.col_ndx) JOIN ndx_list ON (ndx_list.oid = a.attrelid AND ndx_list.indexrelid = ndx_cols.oid);

/ Неизвестный тип данных «EMAIL_ADDRESS» для «email». Откат к UNKNOWN. / / Неизвестный тип данных «EMAIL_ADDRESS» для «email». Откат к UNKNOWN. /

If I try to change the data type, it turns out the following:

ALTER TABLE "users" ALTER COLUMN "email" UNKNOWN NULL;

/* ОШИБКА: ошибка синтаксиса (примерное положение: "UNKNOWN") LINE 2: ALTER COLUMN "email" UNKNOWN NULL

1 attachment(s):
  • 1
ansgar's profile image ansgar posted 8 years ago Permalink

Ehm, my Russian is a bit ... rusty. But I see that my wanted "X" is "#1009". According to a postgresql source file this is a "text array".

These array data types are on my todo list. You will have to wait until I add support for these.

One advice: Do not try to edit and change UNKNOWN type columns with HeidiSQL - that won't succeed, ever.

[expired user #10239]'s profile image [expired user #10239] posted 8 years ago Permalink

Ok, thank you. I will wait

Please login to leave a reply, or register at first.