Дамп базы Postgesql из docker контейнера



By admin ~ Декабрь 19th, 2023. Filed under: Базы данных.

Чтобы сделать дамп базы данных PostgreSQL из контейнера Docker, вы можете использовать команду docker exec и утилиту pg_dump. Вот пример:

Сначала узнайте имя или идентификатор контейнера, в котором запущена база данных PostgreSQL. Вы можете использовать команду docker ps для просмотра активных контейнеров:

docker ps

Найдите контейнер, содержащий PostgreSQL и скопируйте его имя или идентификатор.

Затем выполните команду docker exec с именем или идентификатором контейнера, чтобы запустить команду pg_dump внутри контейнера:

docker exec <container_name_or_id> pg_dump -U <username> <database_name> > dump.sql

Замените <container_name_or_id> на имя или идентификатор контейнера PostgreSQL, <username> на имя пользователя базы данных и <database_name> на имя базы данных, которую вы хотите сделать дамп.

Команда pg_dump создаст дамп базы данных и перенаправит его вывод в файл dump.sql в текущем рабочем каталоге на вашей машине.

После выполнения команды вы должны найти файл dump.sql в текущем рабочем каталоге. Этот файл будет содержать дамп вашей базы данных PostgreSQL из контейнера.

ls dump.sql

Теперь у вас есть дамп базы данных PostgreSQL в файле dump.sql, который вы можете использовать для восстановления данных или переноса на другую систему.

⚠️ Обратите внимание, что команда docker exec используется для выполнения команды внутри контейнера, поэтому убедитесь, что контейнер с базой данных PostgreSQL запущен перед выполнением этой команды.

Popularity: 3%

Как при загрузке данных из JSON в python pedantic, преобразовывть поля на лету



By admin ~ Декабрь 17th, 2023. Filed under: Python.

при загрузке данных из JSON в Python с использованием библиотеки Pedantic можно проводить преобразования полей на лету. Pedantic позволяет определить пользовательские валидаторы и конвертеры для полей данных.

Вы можете определить функции-конвертеры, которые будут автоматически вызываться при загрузке данных из JSON. Эти функции могут принимать входные данные и выполнять необходимые преобразования перед тем, как данные будут присвоены полям объекта.

Например:

from datetime import datetime
from pydantic import BaseModel, validator

class MyDataModel(BaseModel):
    name: str
    age: int
    birthdate: datetime

    @validator('birthdate')
    def parse_birthdate(cls, value):
        # Преобразование строки в формате ISO 8601 в объект datetime
        return datetime.fromisoformat(value)

# Пример данных в формате JSON
json_data = '{"name": "John", "age": 25, "birthdate": "1990-01-01"}'

# Загрузка данных из JSON и преобразование полей
data = MyDataModel.parse_raw(json_data)

print(data.name)       # John
print(data.age)        # 25
print(data.birthdate)  # 1990-01-01 00:00:00

Popularity: 3%

Как в python загрузить в pydantic модель данные из json



By admin ~ Декабрь 15th, 2023. Filed under: Python.

Для загрузки данных JSON в модель Pydantic в Python вы можете использовать метод parse_obj или parse_raw совместно с методом json.loads для десериализации JSON-строки. Вот пример:

import json
from pydantic import BaseModel

# Определение модели Pydantic
class MyModel(BaseModel):
    name: str
    age: int

# JSON-строка
json_data = '{"name": "Alice", "age": 25}'

# Десериализация JSON-строки и загрузка в модель
model_instance = MyModel.parse_obj(json.loads(json_data))

В этом примере мы создаем модель MyModel, определяем поля name и age. Затем мы используем json.loads для преобразования JSON-строки в объект Python, а затем передаем его в метод parse_obj модели Pydantic для загрузки данных в модель model_instance.

Popularity: 3%

Отличие Debian от Ubuntu



By admin ~ Март 18th, 2023. Filed under: Разное, Системное.

Ubuntu и Debian - это два разных дистрибутива Linux, хотя Ubuntu основан на Debian. Вот некоторые из отличий между ними:

1. Целевая аудитория: Ubuntu нацелен на конечных пользователей и домашних пользователей, в то время как Debian нацелен на профессионалов и серверные среды.

2. Частота выпусков: Ubuntu выпускается каждые 6 месяцев с обновленным ядром и программным обеспечением, в то время как Debian выпускается раз в два года.

3. Поддержка: Ubuntu предоставляет более длительный период поддержки, чем Debian, что делает его более подходящим для бизнеса и продолжительных проектов.

4. Установщик: Ubuntu имеет более простой и интуитивно понятный установщик, который делает установку более легкой для новых пользователей, в то время как Debian имеет более сложный установщик.

5. Конфигурация по умолчанию: Ubuntu имеет более простую и легкую конфигурацию по умолчанию, в то время как Debian имеет более жесткие настройки безопасности и требует больше работы для настройки.

6. Пакеты: Ubuntu имеет свой собственный набор пакетов, который может отличаться от Debian, хотя он также использует репозитории Debian.

В целом, Ubuntu - это более простой и легкий дистрибутив для новых пользователей, в то время как Debian - это более гибкий и настраиваемый дистрибутив для профессионалов и серверных сред.

Popularity: 5%

Как скачать Debian



By admin ~ Март 18th, 2023. Filed under: Инсталляция, Системное.

Что бы получить новую версию дистрибутива:

1. Перейдите на официальный сайт Debian: https://www.debian.org/
2. Нажмите на кнопку “Download” в верхнем меню.
3. Выберите нужную вам версию Debian (например, “Stable”).
4. Выберите архитектуру вашего компьютера (например, “amd64″ для 64-битных систем).
5. Выберите способ установки (например, “DVD” или “Netinst”).
6. Скачайте образ диска и записать его на DVD или USB-накопитель.
7. Загрузите компьютер с установочного носителя и следуйте инструкциям на экране для установки Debian.

Popularity: 5%

How set timezone for docker alpine image



By admin ~ Октябрь 18th, 2018. Filed under: Инсталляция.

Simple set TZ env var, install tzdata and change timezone configuration

#change timezone on Moskow
ENV TZ=Europe/Moscow
RUN apk –update add tzdata && cp /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && apk del tzdata

Popularity: 24%

СEPH полезные команды



By admin ~ Ноябрь 15th, 2017. Filed under: Базы данных.

Полученние списка бакетов:

radosgw-admin metadata list bucket

radosgw-admin bucket list

Получение списка пользователей:

radosgw-admin metadata list user

Получение всех обьектов CEPH (может выполняться очень долго):

rados -p .rgw.buckets ls

Popularity: 26%

Токенизатор для Elasticsearch для русского языка



By admin ~ Апрель 7th, 2017. Filed under: Поисковые машины.

Нужно было написать custom tokenizer, который бы делал следующие:

  • оставляет только русские и английские буквы
  • не забудет про букву ё
  • оставит так же тире(-) и знак подчеркивания (_)
  • цифры

Продолжение »

Popularity: 28%

Маппинг символов в ElasticSearch



By admin ~ Апрель 6th, 2017. Filed under: Поисковые машины.

Иногда нужно преобразовать в индексируемом тексте ё -> е. Или длинное тире в короткое.
Для этого нам поможет следующий фильтр:

char_filter:
whitespace_mapping:
type: mapping
mappings: ["\\u00A0=>\\u0020"]

Popularity: 28%

Плагин для морфологии ElasticSearch



By admin ~ Апрель 6th, 2017. Filed under: Поисковые машины.

Плагин находится здесь. Как я понял по примерам, основан на лемматизации. Ставить нужно отдельно.

Popularity: 28%

1 2 3 4 5 6 7 8 9 10 11 12 13   Следущая »