为什么我的测试用户数据库经常丢失?我会让我的 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?
笔记:
DROP DATABASE
没有
我会找到一种最简单的解决方案,即通过 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 个月?