小编Kub*_*aun的帖子

如果有一个活动的连接,如何删除PostgreSQL数据库?

我需要编写一个删除PostgreSQL数据库的脚本.它可能有很多连接,但脚本应该忽略它.

DROP DATABASE db_name当存在打开的连接时,标准查询不起作用.

我该如何解决这个问题?

postgresql

605
推荐指数
10
解决办法
36万
查看次数

UIImageView - 如何获取分配的图像的文件名?

是否可以读取UIImageView's UIImage 目前存储在UIImageView?的名称?

我希望你能做一些像这样的事,但还没弄明白.

NSString *currentImageName = [MyIImageView getFileName];
Run Code Online (Sandbox Code Playgroud)

objective-c uiimageview uiimage ios swift

78
推荐指数
9
解决办法
12万
查看次数

在Postgresql中按名称删除约束

如何通过知道名称在Postgresql中删除约束名称?我有一个由第三方脚本自动生成的约束列表.我需要删除它们而不知道表名只是约束名.

postgresql

74
推荐指数
3
解决办法
7万
查看次数

如何在Postgresql中编写更新函数(存储过程)?

我想update function在postgresql中创建一个(存储过程),我在google上搜索了很多次,但没有找到更新函数(存储过程)的正确示例.如何在Postgresql中编写更新函数并更改表中的现有数据?

提前致谢.

Example of Function

CREATE OR REPLACE FUNCTION updateuser_login(userloginidp integer, usercategoryidf integer, usertypeidf integer, usertypereferenceidf integer, loginname text, loginpassword text, menutypeidf integer, username text, dashboardconfig text, careprovideridf integer, isactive boolean)
  RETURNS void AS
$BODY$BEGIN
    UPDATE  tbuserlogin
    SET usercategoryidf="@usercategoryidf", 
        usetypeidf="@usertypeidf", 
        usertypereferenceidf="@usertypereferenceidf", 
        loginname="@loginname", 
        loginpassword="@loginpassword", 
        menutypeidf="@menutypeidf", 
        username="@username", 
        dashboardconfig="@dashboardconfig", 
        careprovideridf="@careprovideridf", 
        isactive="@isactive"
    WHERE   userloginidp = "@userloginidp";
END$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION updateuser_login(integer, integer, integer, integer, text, text, integer, text, text, integer, boolean)
  OWNER TO postgres;
Run Code Online (Sandbox Code Playgroud)

postgresql

11
推荐指数
2
解决办法
4万
查看次数

Liquibase 2.0 - 回滚LiquiBase格式化SQL

在2.0中,添加了一个名为LiquiBased Formatted SQL的非常好的方法.有关信息,请参阅此链接http://blog.liquibase.org/2010/05/liquibase-formatted-sql.html.

当我尝试向我的脚本添加一个rollback命令时,在我的情况下,删除了一个创建的视图,LiquiBase会抛出一个错误.这是我的剧本.

--liquibase formatted sql

--changeset PeterPan:REQ111111
CREATE VIEW all_employees AS
SELECT *
FROM employee;


--rollback 
DROP VIEW all_employees;
--rollback 
Run Code Online (Sandbox Code Playgroud)

我也试过这个

--liquibase formatted sql

--changeset PeterPan:REQ111111
CREATE VIEW all_employees AS
SELECT *
FROM employee;


--rollback 
DROP VIEW all_employees;
Run Code Online (Sandbox Code Playgroud)

这是我的命令行输入和我得到的输出.注意我做了更新成功,然后回滚失败了.还要记住,只要脚本抛出异常,视图就会被删除.如果我从构建中删除我的视图并运行相同的命令,则更新和回滚都会成功完成.

C:\>liquibase --driver=org.postgresql.Driver --classpath="C:/Program Files/Java/jdk1.6.0_23/lib/postgresql-9.0-801.jdbc4.jar" --url="jdbc:postgresql:/
/localhost:5432/test_db_build" --changeLogFile=C:/DbSource/Common/00_main_changelog.xml --username=postgres --password=password update
INFO 3/3/11 10:05 AM:liquibase: Successfully acquired change log lock
INFO 3/3/11 10:05 AM:liquibase: Reading from databasechangelog
INFO 3/3/11 10:05 AM:liquibase: Reading from databasechangelog
INFO 3/3/11 10:05 AM:liquibase: …
Run Code Online (Sandbox Code Playgroud)

liquibase

6
推荐指数
1
解决办法
7269
查看次数

PostgreSQL 我可以从“组角色”继承 search_path 变量吗?

我知道我可以这样定义登录的 search_path 变量:

ALTER ROLE myrole SET search_path=public, foo, bar;
Run Code Online (Sandbox Code Playgroud)

但如果我使用大量登录名,我也会使用组(pgadmin 中的组实际上是角色)。我想在组级别定义 search_path 变量,因此我删除了之前的 SET 并改为写道:

ALTER ROLE mygroup SET search_path=public, foo, bar;
Run Code Online (Sandbox Code Playgroud)

只需将登录定义为该组的成员即可

GRANT mygroup TO myrole
Run Code Online (Sandbox Code Playgroud)

现在,SHOW search_path;只显示默认的搜索路径"$user",public。有没有办法为组级别定义变量(继承也是如此)?

postgresql roles search-path

5
推荐指数
1
解决办法
1302
查看次数

带有前提条件的格式化SQL

我在使用Liquibase版本:2.0.1.

是否可以在格式化的sql文件中具有前置条件?如果是这样的话?一个例子将不胜感激.

我想做这样的事情,但在sql格式的文件.

 <preConditions onFail="WARN"> 
    <sqlCheck expectedResult="0">select count(*) from oldtable</sqlCheck> 
 </preConditions>
Run Code Online (Sandbox Code Playgroud)

liquibase

4
推荐指数
1
解决办法
3511
查看次数

Postgres ANTI-JOIN需要表扫描吗?

我需要在同一个表上的ANTI-JOIN(不存在来自表的SELECT东西... /左连接表WHERE table.id IS NULL).实际上我有一个索引来提供不存在的问题,但查询规划器选择使用位图堆扫描.

该表有1亿行,因此进行堆扫描时搞砸了......

如果Postgres可以与指标进行比较,那将会非常快.Postgres是否必须访问此ANTI-JOIN的表格?

我知道必须在某个时候访问该表以服务MVCC,但为什么这么早呢?不能只用桌子来固定,因为它可能会遗漏一些东西吗?

database postgresql indexing anti-join

4
推荐指数
1
解决办法
3239
查看次数

使用Libpq将iPhone App连接到PostgreSQL

我需要为iPhone创建一个应用程序,它将使用libpq连接到PostgreSQL 8.4数据库.问题是我无法获得一个链接到libpq进行编译的简单iPhone.然而,我能够获得相当于常规Mac桌面应用程序的应用程序来编译和连接到PostgreSQL而没有任何问题.我在Snow Leopard上运行Xcode 3.2.

我正在为arm和x86_84构建libpq.arm构建适用于真正的iPhone,x86_64适用于iPhone模拟器.然后我创建一个包含两个文件的胖二进制文件,最后得到一个名为libpq的文件.这个文件是我在常规Mac应用程序中使用的文件,它工作正常,并在尝试构建iPhone应用程序时导致问题.

这是我构建libpq时的构建脚本.

#!/bin/bash

DEVROOT=/Developer/Platforms/iPhoneOS.platform/Developer
SDKROOT=$DEVROOT/SDKs/iPhoneOS3.0.sdk

rm -rf  /Users/bob/mylibs
mkdir /Users/bob/mylibs #Store there compiled libs
make clean

#Build ARM library
./configure --host=arm-apple-darwin --without-readline --disable-ipv6 CC=$DEVROOT/usr/bin/arm-apple-darwin9-gcc-4.0.1 CPPFLAGS="-I$SDKROOT/usr/lib/gcc/arm-apple-darwin9/4.0.1/include/ -I$SDKROOT/usr/include/" CFLAGS="$CPPFLAGS -arch armv6 -pipe -no-cpp-precomp -isysroot $SDKROOT" CPP="$DEVROOT/usr/bin/cpp $CPPFLAGS" LD=$DEVROOT/usr/bin/ld
make -C src/interfaces/libpq
cp /Users/bob/Downloads/postgresql-8.4.1/src/interfaces/libpq/libpq.a /Users/bob/mylibs/libpq.arm

#Then build i386 library
make clean && ./configure  && make -C src/interfaces/libpq
cp src/interfaces/libpq/libpq.a  /Users/bob/mylibs/libpq.i386

#Then make fat binary
$DEVROOT/usr/bin/lipo -arch armv6 /Users/bob/mylibs/libpq.arm -arch x86_64 /Users/bob/mylibs/libpq.i386 -create -output  /Users/bob/mylibs/libpq
Run Code Online (Sandbox Code Playgroud)

当我尝试从Xcode中编译iPhone应用程序时,这是构建日志.

Build iPhonePg of project …
Run Code Online (Sandbox Code Playgroud)

postgresql xcode iphone-sdk-3.0 libpq

1
推荐指数
1
解决办法
5472
查看次数