Tag: postgresql

被遗忘的赋值运算符“=”和普通的“:=”

PL / pgSQL的文档说,对变量的声明和赋值是通过:=完成的。 但是,一个简单,更短, 更现代 (见脚注) =似乎按预期工作: CREATE OR REPLACE FUNCTION foo() RETURNS int AS $$ DECLARE i int; BEGIN i = 0; WHILE NOT i = 25 LOOP i = i + 1; i = i * i; END LOOP; RETURN i; END; $$ LANGUAGE plpgsql; > SELECT foo(); 25 请注意,Pl / pgSQL可以清晰地区分赋值和比较,如下所示 WHILE […]

SELECT或INSERT在一个容易出现竞争条件的函数中?

我写了一个函数来创建一个简单的博客引擎的帖子: CREATE FUNCTION CreatePost(VARCHAR, TEXT, VARCHAR[]) RETURNS INTEGER AS $$ DECLARE InsertedPostId INTEGER; TagName VARCHAR; BEGIN INSERT INTO Posts (Title, Body) VALUES ($1, $2) RETURNING Id INTO InsertedPostId; FOREACH TagName IN ARRAY $3 LOOP DECLARE InsertedTagId INTEGER; BEGIN — I am concerned about this part. BEGIN INSERT INTO Tags (Name) VALUES (TagName) RETURNING Id INTO […]

如何加快PostgreSQL中的插入性能

我正在测试Postgres插入性能。 我有一个表格,其中一列的数字作为其数据类型。 还有一个索引。 我用这个查询填充数据库: insert into aNumber (id) values (564),(43536),(34560) … 我用上面的查询一次很快地插入了4百万行。 数据库达到600万行之后,性能每15分钟急剧下降到100万行。 是否有任何技巧来提高插入性能? 我需要这个项目的最佳插入性能。 在具有5 GB RAM的计算机上使用Windows 7 Pro。

自动递增SQL函数

使用Postgres,我试图使用AUTO_INCREMENT在SQL中自动为我的主键编号。 但是,它给了我一个错误。 CREATE TABLE Staff ( ID INTEGER NOT NULL AUTO_INCREMENT, Name VARCHAR(40) NOT NULL, PRIMARY KEY (ID) ); 错误: ********** Error ********** ERROR: syntax error at or near "AUTO_INCREMENT" SQL state: 42601 Character: 63 任何想法为什么?

使用CASE和GROUP BY进行动态替代

我有一个如下所示的表格: id feh bar 1 10 A 2 20 A 3 3 B 4 4 B 5 5 C 6 6 D 7 7 D 8 8 D 我希望它看起来像这样: bar val1 val2 val3 A 10 20 B 3 4 C 5 D 6 7 8 我有这样的查询: SELECT bar, MAX(CASE WHEN abc."row" = 1 THEN feh […]

如何将CSV文件数据导入到PostgreSQL表中?

我如何编写一个从CSV文件导入数据并填充表的存储过程?

如何选择SQL数据库表中的第n行?

我有兴趣学习一些(理想的)数据库不可知的方式从数据库表中选择第n行。 看看如何使用下列数据库的本地功能来实现这一点也是有趣的: SQL Server MySQL的 PostgreSQL的 SQLite的 神谕 我目前正在做类似于SQL Server 2005中的以下内容,但我有兴趣查看其他更多不可知的方法: WITH Ordered AS ( SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate FROM Orders) SELECT * FROM Ordered WHERE RowNumber = 1000000 为上述SQL信誉: Firoz Ansari的博客 更新:请参阅Troels Arvin关于SQL标准的回答 。 Troels,你有没有我们可以引用的链接?

无法将dockerized spring boot应用程序连接到dockerized postgre sql

我有一个docker-compose.yml有两个服务: version: '2' services: stuffer: container_name: stuffer_container build: . ports: – "8080:8080" environment: – spring.profiles.active=dev depends_on: – postgreDB postgreDB: container_name: postgreDB_container image: "postgres:9.6.2" ports: – "5432:5432" expose: – "5432" environment: – POSTGRES_DB=stuffer – POSTGRES_USER=postgres – POSTGRES_PASSWORD=root123 volumes: – /home/iwaneez/postgreData:/var/lib/postgresql/data 我的应用程序有application-dev.properties: ## Datasource config spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.url=jdbc:postgresql://postgreDB:5432/stuffer spring.datasource.username=postgres spring.datasource.password=root123 当我运行他们都使用 码头工人组成 我得到连接拒绝异常: stuffer_container | Caused by: org.springframework.jdbc.datasource.init.UncategorizedScriptException: […]

使用Docker Rails 5 Postgres应用程序的Nginx路由

当我尝试将Dockerize Rails应用程序放入容器并在主机上运行Nginx时,出现了外部路由问题。我无法在rails应用程序容器中访问/ public。 相反,我可以在主机上看到/var/www/app/public 。 我如何从Nginx路由到Docker Rails容器? nginx.conf: upstream puma_app { server 127.0.0.1:3000; } server { listen 80; client_max_body_size 4G; keepalive_timeout 10; error_page 500 502 504 /500.html; error_page 503 @503; server_name localhost app; root /var/www/app/public; try_files $uri/index.html $uri @puma_app; location @puma_app { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://puma_app; # limit_req zone=one; […]