草庐IT

PostgresQL

全部标签

javascript - 从 upsert (insertOrUpdate) Sequelize Node.js 获取插入行的 id

我正在创建一个RESTAPI。我想实现一个独立的PUT操作,它可以创建或更新数据库中的特定资源。我正在使用node.js、postgreSQL和sequelize。问题是sequelizeupsert返回true或false取决于资源是更新还是创建。但如果资源已创建,我需要能够将唯一标识符(列ID)发送回客户端。我尝试过的一个解决方案是通过在sequelizefindOne查询的“where”属性中指定从客户端发送的每一列来尝试找到完全相同的资源。但如果客户端发送不在数据库中的其他列,它会抛出错误。在我的实现中不应该是这种情况。这个可以实现吗?最好没有一些性能开销。谢谢

javascript - NodeJS 和 pg-promise,捕获 PostgreSQL 异常

我正在使用PostgreSQL后端运行NodeJS和pg-promise。我创建了自己的TRIGGER,它在某些情况下会抛出异常。到此为止一切正常。但是使用pg-promise我很难捕捉到错误的名称。使用这段代码:....catch(function(err){console.log(err);});我得到以下输出:[{success:false,result:{[error:vote_limit_exceeded]name:'error',length:80,severity:'ERROR',code:'P0001',detail:undefined,hint:undefined,p

javascript - Nodemon - 安装期间为 "clean exit - waiting for changes before restart"

我正在尝试使用Node和Postgres设置RESTfulAPI。我遇到了一个问题,每当我尝试运行服务器(使用npmstart)在本地测试它时,我都会得到以下输出:[nodemon]1.14.10[nodemon]torestartatanytime,enterrs[nodemon]watching:.[nodemon]startingnodeindex.jsserver.js[nodemon]cleanexit-waitingforchangesbeforerestart在网上搜索了一段时间后,我找不到太多关于“干净退出-重启前等待更改”的确切含义的资源,尤其是在这种情况下。这是我的

javascript - 如何在 PostgreSQL 中保存 JS Date.now()?

我尝试使用PostgreSQLtimestamp数据类型,但它抛出错误ERROR:date/timefieldvalueoutofrange:"1489849402536"架构createtabletimes(timetimestampnotnull,);JS代码`insertintotimes(time)values(${Date.now()})`附言另一种选择是使用bigint但这似乎有点矫枉过正。 最佳答案 使用to_timestamp()postgresfunction:`insertintotimes(time)value

【数据库】什么是 PostgreSQL?开源数据库系统

文章目录前言什么是PostgreSQL?PostgreSQL中的SQL服务器管理接口PostgreSQL用途通用OLTP:联合中心:地理空间:LAPP堆栈:使用PostgreSQL有什么好处?开源许可证:易于扩展:可靠性和完整性:高可用和负载均衡:备份和恢复:前言PostgreSQL是一个开源的对象关系数据库系统,本文,我们将讨论PostgreSQL、它的用途和好处。什么是PostgreSQL?PostgreSQL是由PostgreSQLGlobalDevelopmentGroup开发的高级开源关系数据库管理系统(RDBMS)。它作为POSTGRES项目的一部分于1986年在加州大学伯克利分校

javascript - 如何在更少的 SQL 查询中执行复杂的 API 授权?

我正在尝试向API添加授权层,而我目前的设计导致SQL查询数量超过了我认为应该需要的数量,所以我想知道如何简化这一过程。上下文这是这部分问题的数据库模式:CREATETABLEIFNOTEXISTSusers(idTEXTPRIMARYKEY,emailCITEXTNOTNULLUNIQUE,passwordTEXTNOTNULL,nameTEXTNOTNULL,created_atDATENOTNULLDEFAULTCURRENT_TIMESTAMP);CREATETABLEIFNOTEXISTSteams(idTEXTPRIMARYKEY,emailCITEXTNOTNULL,na

database - 使用 GoLang 在 Postgres 中使用 json 类型字段创建表

我在后端使用GoLang,并使用PostgreSQL作为数据库。我是PostgreSQL数据库与Go的新手。我正在使用Beego作为后端。我想使用Golang创建一个包含JSON类型字段之一的表database/sql包和lib/pq.那就是我所做的这是我的建表查询createtable:=`CREATETABLEapply_leave1(leaveidserialPRIMARYKEYNOTNULL,empidvarchar(10)NOTNULL,leavedaysdoubleprecisionNOTNULLDEFAULT0,mdaysdoubleprecisionNOTNULLDEF

postgresql - 如何修复 "missing FROM-clause entry for table"错误

我正在尝试根据游戏ID获取平台名称。我有如下三个表,我正在尝试连接它们以获得所需的结果:GamesId|.....|.....|---|------------|1|.|.|2|.|.|3|.|.|4|.|.|Game_PlatformsId|....|game_id|platform_id|...|---------------------------------1|.|1|1|..|2|.|1|2|..|3|.|3|3|..|..|.|4|4|..|PlatformsId|...|...|name|---------------------|1|.|.|iOS|2|.|.|Andr

sql - Go 和多行参数 hell

当我遇到一个相当烦人的事情时,我正在写一个包装器/验证器overpgingo...传递非常长的字符串作为参数。基本上我有这个字符串:"UPDATE"+m["table"]+"_tagsSETkeys=keys||,"+strconv.Itoa(key)+"WHEREtag="+t+";"+"INSERTINTO"m["table"]+"_tags(tag,keys)SELECT'"+t+"','"+strconv.Itoa(key)+")WHERENOTEXISTS(SELECT1FROM"+m["table"]"_tagsWHEREtag="+t+");"好吧,又大又笨重,充满了'和

postgresql - 如何使用 Go 从 csv 复制到 postgres?

我想将我的大型csv文件复制到Postgres。Schemacreatetabledoe(firstnametext,lastnametext,phonetext);CSV文件名字|姓氏|电话约翰|母鹿|55-55-555简|母鹿|66-66-666开始packagemainimport("fmt""os""os/exec")funcmain(){cmd:="psql"args:=fmt.Sprintf("-Upostgres-dtest-c\"\\copydoefrom'%s'delimiter'|'csvheader;\"",os.Args[1])iferr:=exec.Comma