8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Postgresql AWS 上缺少用户数据库?

Jim Rogers 2月前

102 0

为什么我的测试用户数据库经常丢失?我会让我的 AWS 实例在夜间停止运行,然后在早上重新启动它。但是我无法使用我的 jdtest 用户帐户登录!我不断收到

为什么我的测试用户数据库经常丢失?

我会让 AWS 实例停止一夜,然后在早上重新启动它。但是,我无法使用我的 jdtest 用户帐户登录!

我的系统日志中不断出现以下内容

/var/lib/postgresql/log/postgresql-16-main.log

 LOG:  starting PostgreSQL 16.3 (Ubuntu 16.3-0ubuntu0.24.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0, 64-bit
 LOG:  listening on IPv4 address "0.0.0.0", port 5432
 LOG:  listening on IPv6 address "::", port 5432
 LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
 LOG:  database system was shut down at 2024-06-06 15:42:30 UTC
 LOG:  database system is ready to accept connections
 jdtest@jdtest FATAL:  database "jdtest" does not exist
 jdtest@jdtest FATAL:  database "jdtest" does not exist

我能解决这个问题的唯一方法是重新发布:

CREATE USER jdtest createdb login PASSWORD 'jdtest' ;
CREATE DATABASE jdtest owner jdtest;
GRANT ALL PRIVILEGES ON DATABASE jdtest TO jdtest;

但同样的问题不断发生。:-(

默认 AWS 实例中是否存在某种非永久性,而我作为新手却没有注意到?我是否应该创建某种(更永久的??)AWS 数据存储和关联的 postgres tbs?

笔记:

  • 问题在夜间发生。我不确定是否有必要关闭实例来重现该问题。
  • 已安装的 postgresql 包是 AWS Ubuntu 实例自带的默认包。
  • 我没有使用 AWS RDS。
  • 日志中 DROP DATABASE 没有
  • 整个实例和其所有内容都只是用于学习目的的测试设置。
帖子版权声明 1、本帖标题:Postgresql AWS 上缺少用户数据库?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Jim Rogers在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我有一个时间戳的 json 列表:[ \'2024-03-27 00:30:30.321000\', \'2024-03-27 00:34:58.695000\', \'2024-03-27 00:37:38.352000\', \'2024-03-27 00:37:40.419000&...

    我有一个时间戳的 json 列表:

    [
      "2024-03-27 00:30:30.321000",
      "2024-03-27 00:34:58.695000",
      "2024-03-27 00:37:38.352000",
      "2024-03-27 00:37:40.419000",
      "2024-03-27 00:43:54.536000",
      "2024-03-27 00:49:39.231000",
      "2024-03-27 01:03:39.637000",
      "2024-03-27 01:05:24.370000",
      "2024-03-27 01:17:43.586000",
      "2024-03-27 01:17:47.447000",
      "2024-03-27 01:17:59.913000",
      "2024-03-27 01:18:34.872000",
      "2024-03-27 01:18:36.922000",
      "2024-03-27 01:18:44.626000",
      "2024-03-27 01:19:11.057000",
      "2024-03-27 01:19:12.307000",
      "2024-03-27 01:21:11.322000",
      "2024-03-27 01:26:54.640000",
      "2024-03-27 01:26:55.055000",
      ...
    

    我想绘制它们的频率,例如每小时。我可以用 Pandas 来实现这一点,但这需要我添加一个虚拟列:

    [
      {
        "foo": 1,
        "ts": "2024-03-27 00:24:13.132000"
      },
      {
        "foo": 1,
        "ts": "2024-03-27 00:30:30.321000"
      },
      {
        "foo": 1,
        "ts": "2024-03-27 00:34:58.695000"
      },
      {
        "foo": 1,
        "ts": "2024-03-27 00:36:04.166000"
      },
      {
        "foo": 1,
        "ts": "2024-03-27 00:37:38.352000"
      },
      {
        "foo": 1,
        "ts": "2024-03-27 00:37:40.419000"
      },
      {
        "foo": 1,
        "ts": "2024-03-27 00:43:54.536000"
      },
     ....
    ]
    

    所以我可以使用 sum()

    import sys
    import pandas as pd
    
    freq = '1d'
    df = pd.read_json(sys.stdin)
    df['ts'] = pd.to_datetime(df['ts'])
    overview = df.resample(freq, on='ts').foo.sum()
    print(overview)
    

    这给了我所寻找的东西:

    2024-03-27      674
    2024-03-28      405
    2024-03-29      366
    2024-03-30      352
    2024-03-31      541
    2024-04-01      657
    2024-04-02      398
    2024-04-03      523
    2024-04-04      466
    2024-04-05      498
    2024-04-06      468
    2024-04-07      312
    2024-04-08      453
    2024-04-09      625
    2024-04-10      654
    2024-04-11      696
    2024-04-12      624
    2024-04-13      377
    2024-04-14      304
    2024-04-15      493
    2024-04-16      544
    2024-04-17      526
    

    我可以不使用虚拟列来执行此操作吗?那么只需使用简单的时间戳列表作为输入即可?

  • 我想用 make_subplots 绘制两个时间不同的图。我该怎么做?fig = make_subplots(rows=2, cols=1,row_heights=[0.5, 0.5], shared_xaxes=True)fig.add_trace(go.Candlestick(x...

    我想绘制两个 make_subplots 不同时间的图。我该怎么做?

    fig = make_subplots(rows=2, cols=1,row_heights=[0.5, 0.5], shared_xaxes=True)
    
    fig.add_trace(go.Candlestick(x=dfpl.index, open=dfpl['open'], high=dfpl['high'], low=dfpl['low'], close=dfpl['close']), row=1, col=1)
    fig.add_trace(go.Candlestick(x=dfDiv.index, open=dfDiv['open'], high=dfDiv['high'], low=dfDiv['low'], close=dfDiv['close']), row=2, col=1)
    

    我的指标不同 datetime ,图表如下:

    plot

  • 我正在开发一个 Django 项目,我想添加一个供本地使用的日期格式。根据文档,我已更新设置以使用本地日期时间格式:LinkSettings 如下:

    我正在开发一个 Django 项目,我想添加一个供本地使用的日期格式。根据文档,我已更新设置以使用本地日期时间格式: 链接

    设置如下:

    
    DATE_INPUT_FORMATS = [
        "%Y-%m-%d",
        "%m/%d/%Y",
        "%m/%d/%y",
        "%b %d %Y",
        "%b %d, %Y",
        "%d %b %Y",
        "%d %b, %Y",
        "%B %d %Y",
        "%B %d, %Y",
        "%d %B %Y",
        "%d %B, %Y",
        '%d-%m-%Y',
        '%d/%m/%Y'
    ]
    DATETIME_INPUT_FORMATS = [
        "%Y-%m-%d %H:%M:%S",
        "%Y-%m-%d %H:%M:%S.%f",
        "%Y-%m-%d %H:%M",
        "%m/%d/%Y %H:%M:%S",
        "%m/%d/%Y %H:%M:%S.%f",
        "%m/%d/%Y %H:%M",
        "%m/%d/%y %H:%M:%S",
        "%m/%d/%y %H:%M:%S.%f",
        "%m/%d/%y %H:%M",
        '%d-%m-%Y %H:%M:%S',
        '%d/%m/%Y %H:%M:%S'
    ]
    

    但是对于表单字段,它仍然使用默认的日期时间格式,而不是采用设置文件中添加的日期时间格式。

    在我的表单中,表单抛出验证错误,提示“请输入有效的日期/时间”

    class CDetailsForm(forms.ModelForm):
     class Meta:
            model = CDetails
            fields = ('c_date',)
            widgets = {
                'c_date': forms.DateTimeInput(
                    attrs={'class': 'datetimepicker-input datetime_stamp form-control', 'readonly': 'readonly'}),
            }
    
        def is_valid(self):
            import pdb
            pdb.set_trace()
            result = super(CDetailsForm, self).is_valid()
            return result
    
    

    DateTimeInput 小部件代码表示它引用 DATETIME_INPUT_FORMATS 设置

    class DateTimeInput(DateTimeBaseInput):
        format_key = 'DATETIME_INPUT_FORMATS'
        template_name = 'django/forms/widgets/datetime.html'
    
    

    但在表单字段验证中,设置被完全忽略

    > <project>/env/lib/python3.9/site-packages/django/forms/fields.py(384)to_python()
    -> for format in self.input_formats:
    (Pdb) self.input_formats
    ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
    (Pdb) self
    <django.forms.fields.DateTimeField object at 0x128049c10>
    (Pdb) value
    '19-03-2024 17:25:17'
    (Pdb) 
    
    

    期待建议或反馈。

  • 我想将大型 JSON 文件转换为 CSV。这些文件有多个 JSON 对象并且可以嵌套。这些文件很大(1 到 10 GB),因此无法将它们加载到内存中。此外,f...

    我想将大型 JSON 文件转换为 CSV。这些文件有多个 JSON 对象并且可以嵌套。这些文件很大(1 到 10 GB),因此无法将它们加载到内存中。此外,这些文件具有不同的架构,因此 CSV 的结构可能会有所不同。

    一种选择是使用 Jackson 的流 API 迭代文件,获取定义 csv 结构需要创建的所有字段,然后使用命令 jq 将其转换为 csv。有没有更好的方法可以做到这一点?

  • 我试图简单地解析日期时间字符串,如 \'2024-3-3 16:00\',并执行一些其他计算,如 addHour 并执行一些条件。问题是,当我尝试解析 2024-3-3 16...

    我正在尝试简单地解析日期时间字符串,例如 \'2024-3-3 16:00\',并执行一些其他计算,例如 addHour 并执行一些条件。问题是,当我尝试解析 2024-3-3 16:00 并返回它时,它返回 2024-3-3 14:00 。我不明白这是怎么可能的。我的时区 config/app.php 设置为 Africa/Cairo 。我的理解是,它采用 UTC 中的这个日期时间并将其转换为配置时区。即使我明确地给它一个时区 Carbon::parse('2024-3-3 16:00', 'Europe/London') ,它也会返回相同的内容。有人可以解释一下发生了什么吗?

    编辑 此代码位于 user.php 中的 routes 文件夹中,我创建了一个名为 /run 的测试路由。我尝试在 blade 中使用 Carbon::parse(...),效果很好。

    class TestController extends Controller
    {
        public function index() {
            return Carbon::parse('2024-3-3 16:00');
        }
    }
    

    输出

    "2024-03-03T14:00:00.000000Z"

  • 我会找到一种最简单的解决方案,即通过 php 函数直接翻译日期(不使用 str_replace、日期名称数组和 mktime。目前我使用日期名称表并用数字替换日期...

    我会找到一种最简单的解决方案,即通过 php 函数直接翻译日期(不使用 str_replace、日期名称数组和 mktime)。

    目前我使用日期名称表并用表的值替换数字日期。

    在这个例子中,我检索了月份名称。

    setlocale(LC_TIME, 'fr_FR');
    date_default_timezone_set('Europe/Paris');
    for ($x = $currentMonth; $x < $currentMonth + 12; $x++) {
        $months[] = date('Y-F-m', mktime(0, 0, 0, $x, 1));
    }
    $FrenchMonth = array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre');
    $EnglishMonth = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
    

    之后我将每个月(\'F\'日期格式)转换为我的当地语言

    $twelvemonthsdata = explode('-',$months[$i]);
    $twelvemonthsM = $twelvemonthsdata[1];
    $twelveFormatMonth = 'F';
    $twelvemonthinfrench = str_replace( $EnglishMonth,$FrenchMonth, date($twelveFormatMonth, strtotime($twelvemonthsM)));
    

    并使用 strtotime() DateTime() 之外,我找不到任何其他方法 intldateformatter() .

    $currentMonth =  Date('m');
    
    for ($x = $currentMonth; $x < $currentMonth + 12; $x++) {
        $eachmonth = strtotime(Date('Y-F-m', mktime(0, 0, 0, $x, 1)));
    
        $tweelvemonths = new DateTime();
        $tweelvemonths->setTimestamp($eachmonth);
    
        $tweelvemonths_formatter = new IntlDateFormatter('fr_FR');
        $tweelvemonths_formatter->setTimeZone('Europe/Paris');
        $tweelvemonths_formatter->setPattern('y-MMMM-MM');
        
        $tweelvemonths_formated = $tweelvemonths_formatter->format($tweelvemonths);
        var_dump($tweelvemonths_formated);
    }
    

    是否有更简单或更短的方法使用或不使用 strtotime 和/或 mtkime 来使用当地语言从当前月份生成未来 12 个月?

  • 经过整整两天的寻找答案,我决定问一下!;)我从各种“堆栈溢出”来源中拼凑了一个脚本,该脚本将从多文件压缩中提取特定的 csv 文件

    经过整整两天寻找答案之后,我决定提问!;)

    我从各种“stack overflow”来源拼凑了一个脚本,该脚本每天将来自 gmail 的多文件压缩附件中的特定 csv 文件拉入 gsheets。

    问题:

    1. p4

    2. p5

    除了创建一个脚本,要求我运行 12 次不同的时间以便将所有 12 个压缩文件收集到各自的选项卡上之外,我还能做什么?

    这是脚本的副本。问题出现在“步骤 4:解析 CSV 数据”中。

    function NewBNP() {
    
    var ss = SpreadsheetApp.getActive()
    var spreadsheet = SpreadsheetApp.getActive();
    spreadsheet.setActiveSheet(spreadsheet.getSheetByName('RawBNP'), true);
    var cell = spreadsheet.getRange('A1')
    var cellContent = cell.getValue()
    
    if(cellContent === 'RUN') 
    
    
    {
    
    //Step1: GET MOST RECENT MESSAGE BY LABEL
    var threads = GmailApp.search("Standard - CFL REP001");
    var message = threads[0].getMessages();
    message = message[message.length - 1];
    var attachments = message.getAttachments();
    
    Logger.log("Message Found");
    var attachments = message.getAttachments();
    for (var i = 0; i < attachments.length; i++) {
    var attachment = attachments[i];
    }
    Logger.log("Attachement Stored");
    
    
    //Step 2: FIND SPREADHSEET
    var ss = SpreadsheetApp.openById ("16xx4y899tRWNfCZIARw4wDmuqUcMtjB2ZZlznjaeaUc");
    Logger.log("Sheet Opened");
    
    //Step 3: FIND SHEET INSIDE SPREADHSEET
    var sheetName = ss.getSheetByName("RawBNP");
    Logger.log("Tab Found");
    
    
    //Step 4: PARSE CSV DATA
    var blobs = Utilities.unzip(attachment.setContentType(MimeType.ZIP)); 
    if (blobs.length <= 1) {
    throw new Error("Multiple files cannot be found.");
    }
    var csvFileOf11thFile = blobs[11];
    
    var csvData = Utilities.parseCsv(csvFileOf11thFile.getDataAsString('ISO-8859-1'), ",");
    Logger.log("CSV data loaded");
    
    
    //Step 5: SINSERT DATA AKA .getRange(row, column, lastrow based on CSV data);
    sheetName.getRange(3, 2, csvData.length,csvData[0].length).setValues(csvData);
    Logger.log("Data pasted");
    
    
    }
    }
    
  • 有人能告诉我应该在 Elastic 搜索索引中插入日期时间字段的正确映射格式吗?这样我就可以使用日期时间字段来过滤 Kibana 中的数据……

    有人能告诉我应该在 Elastic 搜索索引中插入日期时间字段的正确映射格式吗?这样我就可以使用日期时间字段来过滤 Kibana Canvas 中的数据

    在 Kibana Canvas 中尝试使用 yyyy-MM-dd HH:mm:ss 格式的日期时间字段进行数据过滤,它可以正常工作,但是当更改为 2024-05-06T11:45:00Z 格式时,过滤无法按预期工作。

  • 引用 10

    上面的两个答案让我找到了正确的方向。最终只需两行即可完成:

    df = pd.read_json(sys.stdin, typ='series')
    overview = df.groupby([df.dt.floor(freq)]).count()
    
  • IIUC,您可以使用 resample.size ,这样就不需要虚拟的 \'foo\' 列:

    df.resample(freq, on='ts').size()
    

    例子:

    lst = [
      "2024-03-27 00:30:30.321000",
      "2024-03-27 00:34:58.695000",
      "2024-03-27 00:37:38.352000",
      "2024-03-28 01:26:54.640000",
      "2024-03-28 01:26:55.055000",
    ]
    freq = '1d'
    df = pd.DataFrame({'ts': lst})
    df['ts'] = pd.to_datetime(df['ts'])
    
    df.resample(freq, on='ts').size()
    
    ts
    2024-03-27    3
    2024-03-28    2
    Freq: D, dtype: int64
    
  • 使用样本数据,您可以使用:

    freq = '1h'
    data = [
      "2024-03-27 00:30:30.321000",
      "2024-03-27 00:34:58.695000",
      "2024-03-27 00:37:38.352000",
      "2024-03-27 00:37:40.419000",
      "2024-03-27 00:43:54.536000",
      "2024-03-27 00:49:39.231000",
      "2024-03-27 01:03:39.637000",
      "2024-03-27 01:05:24.370000",
      "2024-03-27 01:17:43.586000",
      "2024-03-27 01:17:47.447000",
      "2024-03-27 01:17:59.913000",
      "2024-03-27 01:18:34.872000",
      "2024-03-27 01:18:36.922000",
      "2024-03-27 01:18:44.626000",
      "2024-03-27 01:19:11.057000",
      "2024-03-27 01:19:12.307000",
      "2024-03-27 01:21:11.322000",
      "2024-03-27 01:26:54.640000",
      "2024-03-27 01:26:55.055000"]
    
    df = pd.Series(data=pd.to_datetime(data))
    overview = df.groupby([df.dt.floor(freq)]).count()
    print(overview )
    

    代码产生:

    # with freq = 1h
    2024-03-27 00:00:00     6
    2024-03-27 01:00:00    13
    # with freq = 1d
    2024-03-27    19
    
  • 尝试使用我的代码应用您的数据。然后在您的问题中添加您希望 x 轴是什么样子。您的问题在目标上有点不清楚。

  • 引用 14

    谢谢你的回复。我的数据是两个时间范围内的一对(4 小时和 1 小时内的 aapl .1000 蜡烛)

  • Pops 2月前 0 只看Ta
    引用 15

    发布的代码是一个子图,所附图表是一个没有匹配内容的单个图表。我不知道您的数据到底是什么,但我的理解是您想基于两个数据框绘制一个子图并更改 x 轴时间序列的显示单位。您可以使用 dtick 更改显示单位。有关 x 轴时间序列的更多信息,请参见 此处 有关更多信息, 请参见 此处

    import yfinance as yf
    from plotly.subplots import make_subplots
    import plotly.graph_objects as go
    import datetime
    
    dfaapl = yf.download("AAPL", start="2021-01-01", end="2024-01-01")
    dfgoog = yf.download("GOOG", start="2021-01-01", end="2024-01-01")
    
    fig = make_subplots(rows=2, cols=1,
                        row_heights=[0.45, 0.45],
                        vertical_spacing=0.4,
                        shared_xaxes=False)
    
    fig.add_trace(go.Candlestick(x=dfaapl.index,
                                 open=dfaapl['Open'],
                                 high=dfaapl['High'],
                                 low=dfaapl['Low'],
                                 close=dfaapl['Close'],
                                 name='AAPL'), row=1, col=1)
    fig.add_trace(go.Candlestick(x=dfgoog.index,
                                 open=dfgoog['Open'],
                                 high=dfgoog['High'],
                                 low=dfgoog['Low'],
                                 close=dfgoog['Close'],
                                 name='GOOG'), row=2, col=1)
    fig.update_layout(height=450, margin=dict(t=20,b=0,l=0,r=0))
    fig.update_xaxes(dtick='M3',tickformat="%b\n%Y", row=1,col=1)
    fig.update_xaxes(range=[datetime.datetime(2022, 1, 1), datetime.datetime(2023, 12, 31)],
                     tickformat="%m\n%Y", row=2,col=1)
    
    fig.show()
    

    enter image description here

  • @willeM_VanOnsem 我的问题与验证有关。表单渲染已在前端解决。从前端,我得到了 \'19-03-2024 17:25:17\'。那么,当表单验证时,它不应该验证保留全局设置吗?对于我们的案例日期时间输入格式?

  • Joud 2月前 0 只看Ta
    引用 17

    答案很简单,我觉得自己很蠢。我只需要输入 UTC 的日期时间

    Carbon::parse('2024-3-3 16:00', 'UTC')

  • 引用 18

    所以它以 utc 表示,我不希望它以 UTC 表示,我希望它以给定的时区表示,例如

  • 添加 $ic = IntlCalendar::createInstance('UTC'); $ic->setMinimalDaysInFirstWeek(4); $ic->setFirstDayOfWeek(IntlCalendar::DOW_MONDAY); $use_formatter->setCalendar($ic) 以启用基于 ISO 8601 的星期几和周数。

  • Vin 2月前 0 只看Ta
    引用 20

    我分享我自己的答案。

    因此,无需使用 date() mtkime() 我就可以检索当前月份的十二个月。

    为此,我们需要在循环之前实例化 dateTime,并从 1 个月递减到当前月份,而不是由 DateTime \'modify\' 属性生成的下一个月份 $test->modify('+1 month') .

    对于每个循环,我们将 DateTime 增加 +1 个月。

    intlDateFormatter 负责格式化日期并进行翻译

    参考: DateTime 的 按天评级

    $now = Date('m');
    $test = new DateTime('now - 1 month');
    // or new DateTime('first day of this month - 1 month'); 
    // it depends on whether you also manage the day
    
    for ($x = $now ; $x < $now + 12 ; $x++) {
       $test->modify('+1 month');
       $use_formatter = new IntlDateFormatter('fr_FR');
       $use_formatter->setTimeZone('Europe/Paris');
       $use_formatter->setPattern('y-MMMM-MM');
       $formated = $use_formatter->format($test);
       var_dump($formated);
    }
    
返回
作者最近主题: