为什么我的测试用户数据库经常丢失?我会让我的 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
没有
经过整整两天的寻找答案,我决定问一下!;)我从各种“堆栈溢出”来源中拼凑了一个脚本,该脚本将从多文件压缩中提取特定的 csv 文件
经过整整两天寻找答案之后,我决定提问!;)
我从各种“stack overflow”来源拼凑了一个脚本,该脚本每天将来自 gmail 的多文件压缩附件中的特定 csv 文件拉入 gsheets。
问题:
p4
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");
}
}