Forwarded from Senior SQL Developer
Индекс Hash в PostgreSQL
Для создания индекса Hash в PostgreSQL используется команда CREATE INDEX. Например, для создания индекса Hash на таблице users для поля id, можно использовать команду с фото.
Пример использования индекса Hash:
Для поиска пользователя с id = 12345 в таблице users с миллионами записей рекомендуется использовать индекс Hash вместо обычного поиска без индекса, который может занять много времени и ресурсов. PostgreSQL использует хеш-функцию для быстрого нахождения нужной записи.
Ограничения индекса Hash
Хеш-индекс быстр для поиска, но имеет ограничения. Он не поддерживает сравнение > или <, поэтому не подходит для сортировки. Также, если хеш-функция выбрана неправильно, могут возникнуть коллизии, когда разные id имеют одинаковый хеш.
Для создания индекса Hash в PostgreSQL используется команда CREATE INDEX. Например, для создания индекса Hash на таблице users для поля id, можно использовать команду с фото.
Пример использования индекса Hash:
Для поиска пользователя с id = 12345 в таблице users с миллионами записей рекомендуется использовать индекс Hash вместо обычного поиска без индекса, который может занять много времени и ресурсов. PostgreSQL использует хеш-функцию для быстрого нахождения нужной записи.
Ограничения индекса Hash
Хеш-индекс быстр для поиска, но имеет ограничения. Он не поддерживает сравнение > или <, поэтому не подходит для сортировки. Также, если хеш-функция выбрана неправильно, могут возникнуть коллизии, когда разные id имеют одинаковый хеш.
Forwarded from Senior SQL Developer
#вопросы_с_собеседований
Назовите 3 вида блокировок и что вы о них знаете?
Блокировка - это механизм, используемый в базах данных для управления параллельным доступом к данным. Она гарантирует, что одновременный доступ к данным не повредит целостности данных и не приведет к ошибкам.
1. Блокировка уровня страницы
Блокировка уровня страницы блокирует доступ к целой странице данных, а не только к отдельным строкам. Это может быть полезным при выполнении больших объемов операций чтения или изменения данных.
2. Блокировка уровня таблицы
Блокировка уровня таблицы блокирует доступ ко всей таблице данных для других пользователей. Это может быть полезным при выполнении операций обслуживания таблицы, таких как переименование или изменение структуры таблицы.
3. Блокировка уровня базы данных
Блокировка уровня базы данных блокирует доступ ко всей базе данных для других пользователей. Это может быть полезным при выполнении операций обслуживания базы данных, таких как создание резервной копии или восстановление.
Назовите 3 вида блокировок и что вы о них знаете?
Блокировка - это механизм, используемый в базах данных для управления параллельным доступом к данным. Она гарантирует, что одновременный доступ к данным не повредит целостности данных и не приведет к ошибкам.
1. Блокировка уровня страницы
Блокировка уровня страницы блокирует доступ к целой странице данных, а не только к отдельным строкам. Это может быть полезным при выполнении больших объемов операций чтения или изменения данных.
2. Блокировка уровня таблицы
Блокировка уровня таблицы блокирует доступ ко всей таблице данных для других пользователей. Это может быть полезным при выполнении операций обслуживания таблицы, таких как переименование или изменение структуры таблицы.
3. Блокировка уровня базы данных
Блокировка уровня базы данных блокирует доступ ко всей базе данных для других пользователей. Это может быть полезным при выполнении операций обслуживания базы данных, таких как создание резервной копии или восстановление.
Forwarded from Код Воробья для iOS разработчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Хабр
Фортран как культурное явление
В фильме «Скрытые фигуры» есть прекрасная сцена: на дворе 1961-62, афроамериканка из лабораторий НАСА едет в библиотеку для белых и тихонько без разрешения увозит оттуда книжку по Фортрану. На автобусе увозит. Сопровождая это комментарием своему сыну: «А что? Я плачу налоги».
Фортран перестал быть просто языком программирования, это давно культурный феномен. Настолько, что стал иллюстрацией в борьбе чернокожих женщин за свои права.
Масштаб явления очень легко недооценить: на современный избалованный взгляд ничего такого волшебного в Фортане нет. Зато если немного разобраться в контексте, становится понятно, что Фортран для своего времени — просто квантовый скачок, уделавший все альтернативные разработки минимум на 10 лет.
В фильме «Скрытые фигуры» есть прекрасная сцена: на дворе 1961-62, афроамериканка из лабораторий НАСА едет в библиотеку для белых и тихонько без разрешения увозит оттуда книжку по Фортрану. На автобусе увозит. Сопровождая это комментарием своему сыну: «А что? Я плачу налоги».
Фортран перестал быть просто языком программирования, это давно культурный феномен. Настолько, что стал иллюстрацией в борьбе чернокожих женщин за свои права.
Масштаб явления очень легко недооценить: на современный избалованный взгляд ничего такого волшебного в Фортане нет. Зато если немного разобраться в контексте, становится понятно, что Фортран для своего времени — просто квантовый скачок, уделавший все альтернативные разработки минимум на 10 лет.
Forwarded from Простой Python | Программирование
NumPy: Базовые математические операции над массивами
Продолжаем делиться циклом видеоматериалов про NumPy. В этот раз ты узнаешь об основных математических операциях с массивами NumPy: сложение, вычитание, умножение деление, возведение в степень, целый остаток от деления.
👀Смотреть видео
#видео #numpy
Продолжаем делиться циклом видеоматериалов про NumPy. В этот раз ты узнаешь об основных математических операциях с массивами NumPy: сложение, вычитание, умножение деление, возведение в степень, целый остаток от деления.
👀Смотреть видео
#видео #numpy
Forwarded from IT Юмор
This media is not supported in your browser
VIEW IN TELEGRAM
Случай на собеседовании
😁2
Forwarded from Senior SQL Developer
Все о команде COLLATE в SQL
Команда COLLATE в SQL используется для указания правил сортировки и сравнения символов при выполнении операций сравнения в запросах.
Существует несколько вариантов значений, которые можно использовать в команде COLLATE, включая:
- _CS - с учетом регистра
- _CI - без учета регистра
- _AS - с учетом локали (language sensitive)
- _AI - без учета локали (language insensitive)
Примеры:
- Cyrillic_General_CS_AS - с учетом регистра и локали для кириллицы
- Latin1_General_CI_AI - без учета регистра и локали для латиницы
Команда COLLATE в SQL используется для указания правил сортировки и сравнения символов при выполнении операций сравнения в запросах.
Существует несколько вариантов значений, которые можно использовать в команде COLLATE, включая:
- _CS - с учетом регистра
- _CI - без учета регистра
- _AS - с учетом локали (language sensitive)
- _AI - без учета локали (language insensitive)
Примеры:
- Cyrillic_General_CS_AS - с учетом регистра и локали для кириллицы
- Latin1_General_CI_AI - без учета регистра и локали для латиницы
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
This media is not supported in your browser
VIEW IN TELEGRAM
Отражение источников света
Интерфейс Vision Pro учитывает источники освещения и слегка отражает их от своей поверхности. Вот пример того, как можно реализовать похожий эффект на SwiftUI, считывая источники освещения с камеры.
Интерфейс Vision Pro учитывает источники освещения и слегка отражает их от своей поверхности. Вот пример того, как можно реализовать похожий эффект на SwiftUI, считывая источники освещения с камеры.
Forwarded from Код Воробья для iOS разработчиков
This media is not supported in your browser
VIEW IN TELEGRAM
В 💻 Xcode 15 добавили перенос параметров на новые строки. Обратно в одну строку пока нельзя.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Rozetked
Intel официально подтвердила слухи об отказе от буквы «i» в названиях своих процессоров.
Новое поколение чипов будет называться Intel, Intel Core и Intel Core Ultra. Для примера: если раньше условный процессор получил бы название Intel Core i9-1090H, то после ребрендинга — Intel Core Ultra 9 1090H.
rozetked.me/news/29300
Новое поколение чипов будет называться Intel, Intel Core и Intel Core Ultra. Для примера: если раньше условный процессор получил бы название Intel Core i9-1090H, то после ребрендинга — Intel Core Ultra 9 1090H.
rozetked.me/news/29300
Forwarded from Senior SQL Developer
Функции ISDATE() - SQL Server
Функция ISDATE() используется для проверки, является ли выражение допустимой датой или нет. Функция возвращает 1, если выражение является допустимой датой, и 0, если не является.
Синтаксис функции ISDATE(): ISDATE ( expression )
- expression: выражение, которое необходимо проверить. Может быть любым типом данных, который может быть преобразован в тип данных дата/время.
Однако при использовании функции ISDATE() нужно учитывать, что она не является полностью надежной и может допускать ошибки при проверке даты. Например, функция не сможет обнаружить ошибку в дате "@", так как такая дата не существует.
Функция ISDATE() используется для проверки, является ли выражение допустимой датой или нет. Функция возвращает 1, если выражение является допустимой датой, и 0, если не является.
Синтаксис функции ISDATE(): ISDATE ( expression )
- expression: выражение, которое необходимо проверить. Может быть любым типом данных, который может быть преобразован в тип данных дата/время.
Однако при использовании функции ISDATE() нужно учитывать, что она не является полностью надежной и может допускать ошибки при проверке даты. Например, функция не сможет обнаружить ошибку в дате "@", так как такая дата не существует.
Forwarded from в IT и выйти
Восстание машин отменяется:
ИИ-система распознавания лиц нашла тигра в черте города. Оказалось, что это всего лишь собакен с тенью от забора.
@encryptedch
ИИ-система распознавания лиц нашла тигра в черте города. Оказалось, что это всего лишь собакен с тенью от забора.
@encryptedch
Forwarded from Postgres Guru | Базы данных 💐
🤬 Что делать, если в кластере PostgreSQL нет суперпользователя?
Предположим, что у нас случилась ситуация при которой в кластере PostgreSQL не осталось ни одной роли с правами суперпользователя. Такая ситуация возможна если, например, предыдущий админ СУБД решил похулиганить и передал нам PostgreSQL в таком виде 😏 Или мы сами накосячили с правами.
А ведь загнать себя в такую ловушку не так уж и сложно. Мы, как суперпользователь, можем у роли postgres снять атрибут SUPERUSER. Делается это с помощью команды ALTER ROLE, например вот так:
Теперь, если мы попробуем вернуть все обратно:
то получим вот такую ошибку:
И если у нас нет какой-то второй роли с правами суперпользователя, то мы оставили кластер PostgreSQL без админских прав. И все бы ничего, все будет работать как и раньше, до тех пор пока нам не понадобиться что-то поменять и это что-то потребует права суперпользователя.
Но удалять кластер, ставить его занового и восстанавливать базы данных из копий не надо! Выйти из данной ситуации можно и другим способом. Тут нам на помощь приходит возможность запуска PostgreSQL в однопользовательском режиме. В таком режиме нет проверки на права, а есть один пользователь с правами суперпользователя. Чтобы это сделать, нам нужно сначала остановить службу PostgreSQL:
А потом запустить PostgreSQL в однопользовательском режиме:
#
Теперт мы можем вернуть права нашему пользователю postgres:
В однопользовательском режиме не нужно ставить знак ; в конце команды, а достаточно нажать Enter. После этого запускаем службу PostgreSQL в нормальном режиме:
В Windows это можно сделать через оснастку Службы.
Мы можем проверить, что все получилось, подключившись через psql и ввелы команду \du. Вывод будет примерно следующим:
#pgerrors
Предположим, что у нас случилась ситуация при которой в кластере PostgreSQL не осталось ни одной роли с правами суперпользователя. Такая ситуация возможна если, например, предыдущий админ СУБД решил похулиганить и передал нам PostgreSQL в таком виде 😏 Или мы сами накосячили с правами.
А ведь загнать себя в такую ловушку не так уж и сложно. Мы, как суперпользователь, можем у роли postgres снять атрибут SUPERUSER. Делается это с помощью команды ALTER ROLE, например вот так:
ALTER ROLE postgres NOSUPERUSER;Теперь, если мы попробуем вернуть все обратно:
ALTER ROLE postgres SUPERUSER;то получим вот такую ошибку:
ERROR: must be superuser to alter superuser 😅И если у нас нет какой-то второй роли с правами суперпользователя, то мы оставили кластер PostgreSQL без админских прав. И все бы ничего, все будет работать как и раньше, до тех пор пока нам не понадобиться что-то поменять и это что-то потребует права суперпользователя.
Но удалять кластер, ставить его занового и восстанавливать базы данных из копий не надо! Выйти из данной ситуации можно и другим способом. Тут нам на помощь приходит возможность запуска PostgreSQL в однопользовательском режиме. В таком режиме нет проверки на права, а есть один пользователь с правами суперпользователя. Чтобы это сделать, нам нужно сначала остановить службу PostgreSQL:
# pg_ctl -D путь к каталогу кластера stopА потом запустить PostgreSQL в однопользовательском режиме:
#
postgres --single -D путь_к_каталогу_с_бд другие параметры подключения имя_бдТеперт мы можем вернуть права нашему пользователю postgres:
ALTER ROLE postgres SUPERUSERВ однопользовательском режиме не нужно ставить знак ; в конце команды, а достаточно нажать Enter. После этого запускаем службу PostgreSQL в нормальном режиме:
# sudo systemctl start postgresql.serviceВ Windows это можно сделать через оснастку Службы.
Мы можем проверить, что все получилось, подключившись через psql и ввелы команду \du. Вывод будет примерно следующим:
List of roles Role name |Attributes | Member of-----------+-----------+----------postgres | Superuser, Create role, Create DB | {}#pgerrors
Forwarded from Breaking Trends
This media is not supported in your browser
VIEW IN TELEGRAM
Телепорт от Apple и апельсин от Apple. Энтузиасты с помощью нейросетей и фотошопа представили, что ещё может выпустить компания из Купертино и сколько это будет стоить.
Без дополнительного кабеля к скутеру и подушечки к креслу за $399 — нереалистично.
❤️ Breaking Trends
Без дополнительного кабеля к скутеру и подушечки к креслу за $399 — нереалистично.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Senior SQL Developer
JSON_MODIFY в Microsoft SQL Server
JSON_MODIFY - это функция в Microsoft SQL Server, которая позволяет изменять свойства в объекте JSON и возвращать измененный объект JSON.
Синтаксис использования функции JSON_MODIFY выглядит следующим образом: JSON_MODIFY ( expression , path , newValue )
- expression: Это объект JSON, который вы хотите изменить.
- path: Это путь к свойству, которое вы хотите изменить. Он должен быть в формате “$.ключ”, где “ключ” - это имя свойства, которое вы хотите изменить.
- newValue: Это новое значение, которое вы хотите присвоить свойству.
Функция также может использоваться в сочетании с другими функциями JSON в SQL Server, такими как JSON_VALUE и JSON_QUERY, для манипулирования JSON-данными.
JSON_MODIFY - это функция в Microsoft SQL Server, которая позволяет изменять свойства в объекте JSON и возвращать измененный объект JSON.
Синтаксис использования функции JSON_MODIFY выглядит следующим образом: JSON_MODIFY ( expression , path , newValue )
- expression: Это объект JSON, который вы хотите изменить.
- path: Это путь к свойству, которое вы хотите изменить. Он должен быть в формате “$.ключ”, где “ключ” - это имя свойства, которое вы хотите изменить.
- newValue: Это новое значение, которое вы хотите присвоить свойству.
Функция также может использоваться в сочетании с другими функциями JSON в SQL Server, такими как JSON_VALUE и JSON_QUERY, для манипулирования JSON-данными.
Forwarded from ДЕВОПСИНА | DevOps | Linux
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Базы данных & SQL