postgresql

postgresql doctrine Код в миграции $this->addSql(CREATE SCHEMA public) - Как его убрать

Проблема

Генератор миграции добавляет в down() код:

$this->addSql('CREATE SCHEMA public');

-- который вообще говоря приводит к ошибке при откате (т.е. эту схему никто и не удалял)

Решение

В добавьте класс (пространство имен может быть любым):

php doctrine postgresql An exception occurred while executing 'SELECT NEXTVAL Ошибка решение

An exception occurred while executing 'SELECT NEXTVAL('"user_id_seq"')':

SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "user_id_seq" does not
exist
LINE 1: SELECT NEXTVAL('"user_id_seq"')
^

Причина и возможное решение

Причина было в том что действительно для таблицы не была создана последовательность user_id_seq.

В доктрине это можно сделать так (php, миграция симфони):

postgresql Создние базы, пользователя с паролем, и выдача ему всех прав на эту базу

Forums:

Подключаемся к постгре и выполняем три запроса:

create database имябазы;
create user имяюзера with encrypted password 'пароль';
grant all privileges on database имябазы to имяпользователя;

postgresql Смена способа авторизации (peer, md5) в Ubuntu Linux

Forums:

Типы авторизации

  • peer -- логиниться без пароля, если клиент запущен от имени пользователя, тип авторизации для которого указан как peer, именно для этого случая работает команда вида:
    sudo -u postgres psql
  • md5 -- использует пароль установленный внутри постгреса, для пользователя, который будет указан напр. после флага -U в команде:
    psql -U postgres

postgresql Подключение в терминале (консоли) первый раз (ubutnu linux)

Forums:

(проверено для posgresql 11)

  1. Первый раз будем логиниться от имени создаваемого системного юзера postgres, при настройках по-умолчанию для него используется авторизация типа peer, никакого пароля посгре не запросит:
    sudo -u postgres psql
  2. Далее уже в оболочке постгреса (куда вы должны попасть после предыдущей команды) выполним смену пароля пользователя:
    \password postgres

    -- введите новый пароль (скорее всего дважды).

postgresql -- Ошибка SELECT NEXTVAL('...')':\n\SQLSTATE[42809]: Wrong object type: 7 ERROR: \"...\" is not a sequence

Текст ошибки

SELECT NEXTVAL('')':\n\SQLSTATE[42809]: Wrong object type: 7 ERROR: \"\" is not a sequence

Возникает при попытке записать данные в таблицу БД.

Решение

Буквально данная ошибка значит: "Ошибка при генерации последовательности. Указанный объект не является генератором последовательности".

symfony4 Ошибка конфигурации БД (postgresql) -- invalid value for parameter "client_encoding": "utf8mb4"

Текст ошибки

SQLSTATE[22023]: Invalid parameter value: 7 ERROR: invalid value for parameter "client_encoding": "utf8mb4"

Решение

Ошибка появляется при попытке подключения к БД из-за неверно настроенной конфигурации (symfony 4). Реально установленный client_encoding - UTF8, а в конфиге остался стандартный utf8mb4.

Чтобы исправить ошибку, настройте конфигурации корректно.

postgresql -- Sequence. Генератор последовательности. Узнать значение. Задать значение

Forums:

Sequence - генератор последовательности. О нём можно прочитать в документации PostgreSQL. Используется для автогенерации id.

  • Так можно узнать текущий номер sequence (номер id, который будет присвоен следующей строке, записываемой в таблицу БД):
    select nextval ('user_pkey');

    где user_pkey - название sequence.

postgresql -- Получить список всех таблиц базы данных

Forums:

Если вы работаете с PostgreSQL, то получить список всех таблиц и sequence вашей базы данных можно с помощью консольной команды:

\d

postgreSQL -- регистронезависимый поиск подстроки в строке

Forums:

Для реализации поиска совпадений в PostgreSQL используется служебное слово LIKE.

  • Поиск по полю name будет выглядеть так:

    SELECT * FROM table WHERE name LIKE 'строка';

    Кроме того, в PostgreSQL есть оператор ~~, равнозначный LIKE:

    SELECT * FROM table WHERE name ~~ 'строка';
  • Регистронезависимый поиск:

    SELECT * FROM table WHERE name ILIKE 'строка';

    И аналогичный оператор ~~*:

Pages

Subscribe to RSS - postgresql