postgresql

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 'строка';

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

postgresql - создать пользователя с encrypted паролем или без него

Forums:

  • Для начала нужно подключиться к базе
  • Создаём пользователя c обычным паролем:
    CREATE USER username WITH PASSWORD 'password'
  • Если вы хотите использовать шифрование пароля, можно внести изменения:
    ALTER USER username with encrypted password 'password';
  • Если вы выбрали второй вариант, не забудьте корректно настроить конфигурации postgreSQL. Способ идентификации тогда будет md5

postgresql Ошибка FATAL: password authentication failed for user "username"

Forums:

Ошибка

При попытке записи в базу данных PostgreSQL возникает ошибка:

An exception occurred in driver: SQLSTATE[08006] [7] FATAL: password authentication failed for user "username"

Соединение с базой данных происходит с помощью Doctrine (Symfony 3), соединяется корректно: автоматическое формирование таблиц прошло успешно.

postgresql Ошибка "пользователь "postgres" не прошёл проверку подлинности (Peer)"

Ошибка

При попытке подключиться через консоль к БД так видим ошибку:

psql: ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (Peer)

Решение

Подключение прошло успешно с помощью такой команды (используется Postgresql 9.6)

sudo -u postgres psql

postgresql timeout expired -- как установить таймаут

Forums:

Ошибка вида:

SQLSTATE[08006] [7] timeout expired

(в процессе поиска решения)

postgresql SELECT FROM WHERE - пример SQL запроса

Из таблицы dl получим все данные, где поле dl_id = 5:

SELECT * from dl WHERE dl.dl_id = 5; 

SELECT С указанием схемы

Можно указать также и схему, к которой относится таблица (а для имен типа таблиц типа `user` без этого вообще не обойтись)

SELECT * FROM public.user;

Или так:

SELECT * FROM public."user";

Pages

Subscribe to RSS - postgresql