我在spring安全配置文件中声明了以下内容(http://www.springframework.org/schema/security/spring-security-2.0.1.xsd):
<form-login login-page="/login.html" />
Run Code Online (Sandbox Code Playgroud)
如果用户没有正确的身份验证凭据,Spring Security会将用户重定向到该页面.如何获取用户试图访问的页面的URL?
我做了一个这样的功能
create or replace function get_source2(TableName character varying)
returns setof integer as
$$
declare
geom geometry;
snode integer;
begin
execute ('select get_source(geom) from '|| TableName)
into snode;
return snode;
end
$$
language plpgsql;
Run Code Online (Sandbox Code Playgroud)
输出数据将是数组类型
所以我尝试使用setof
.
如果我不使用setof
,它运行良好,但只有一个结果出来。
但是,如果我使用setof
我会收到这样的错误
error : RETURN cannot have a parameter in function returning set
Run Code Online (Sandbox Code Playgroud) PostgreSQL 版本:9.3
我们有获取跨国数据的在线系统(每天大约 15000 条记录)。
我们有日期和时间的表分区,并有一个 PostgreSQL 函数来将传入的请求加载到表中。
有时我们会看到错误消息
错误:57014:由于语句超时而取消语句
如果不成功,客户端在一段时间后再次发送请求,并在第二次尝试时成功记录。似乎这必须与表锁有关,但我不确定。
许多像这样的stackoverflow链接的帖子声称PostgreSQL中没有聚集索引的概念.但是,PostgreSQL文档包含类似的内容.一些人声称它类似于SQL Server中的聚簇索引.
你知道这两者之间的确切区别是什么,如果有的话?
我目前有一个 django 应用程序,并且有一个 PostgreSQL 数据库。我研究了这个错误,并在 Stackoverflow 上找到了其他答案,但似乎没有人回答我的确切问题。向服务器发出请求时出现此错误。请注意,我目前正在本地运行我的应用程序。我的很多视图都包含对数据库的请求:
django.db.utils.OperationalError: FATAL: remaining connection slots are reserved for non-replication superuser connections
Run Code Online (Sandbox Code Playgroud)
以下是我的 settings.py 文件中的数据库配置:
任何帮助将不胜感激!
DATABASES = {
'default': {
'ENGINE': 'django_postgrespool',
'NAME': 'database',
'USER': 'user',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '5432',
'CONN_MAX_AGE': 0,
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Debian 9 和 PG 11.1 的 2 个云实例之间设置逻辑复制。主服务器上的命令CREATE PUBLICATION
成功,但是当我CREATE SUBSCRIPTION
在预期的逻辑副本上启动该命令时,该命令无限期挂起。
在主服务器上,我可以看到复制槽已创建并且处于活动状态,并且我可以看到创建了一个新的 walsender 进程并“正在等待”,并且在主服务器的日志中我看到了这些行:
2019-01-14 14:20:39.924 UTC [8349] repl_user@db LOG: logical decoding found initial starting point at 7B0/6C777D10
2019-01-14 14:20:39.924 UTC [8349] repl_user@db DETAIL: Waiting for transactions (approximately 2) older than 827339177 to end.
Run Code Online (Sandbox Code Playgroud)
但仅此而已。命令CREATE SUBSCRIPTION
永远不会结束。
Master 是一个插入量很大的数据库,比如每分钟 100 次,但它们总是被提交。所以不应该有任何长时间未提交的事务。
我尝试用谷歌搜索这个问题,但没有找到任何东西。我缺少什么?
在 ASP.NET 应用程序 (C#) 中,我们使用 Postgres 作为后端,使用 Npgsql 作为数据提供者。几天前,我们遇到了数据丢失的严重问题。我在代码中进行了调查,发现了这样的代码:
var transaction = connection.BeginTransaction();
//some crud operation here
transaction.Commit()
Run Code Online (Sandbox Code Playgroud)
有人坚持认为 Npgsql 会自行处理异常,并会在事务过程中出现问题时自动回滚事务。
在我看来,这是非常乐观的,代码应该包含在 try 和 catch 块中并显式调用事务回滚:
var transaction = connection.BeginTransaction();
try
{
//some crud operation here
transaction.Commit
}catch(Exception ex)
{
transaction.Rollback();
}
Run Code Online (Sandbox Code Playgroud)
错了吗?
此外,事务回滚总是有效吗?我在某处读到它只有在引发 Postgres 异常时才有效,比如在格式错误的 sql 的情况下,但在其他类型的异常的情况下它不起作用。有人也可以澄清这一点吗?
当我在 iOS 模拟器上为 iOS 构建 flutter 项目时,它给了我一个错误
ld: framework not found Flutter
Run Code Online (Sandbox Code Playgroud)
并且构建失败。
这是我尝试从 xcode 构建 flutter 项目时的错误消息:
export IPHONEOS_DEPLOYMENT_TARGET=9.0
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang \
-arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.2.sdk \
-L/Users/abhijeetnigoskar/Library/Developer/Xcode/DerivedData/Runner-axtptzubiqvjnbhgcbxfykotbmup/Build/Products/Debug-iphonesimulator \
-L/Users/abhijeetnigoskar/Library/Developer/Xcode/DerivedData/Runner-axtptzubiqvjnbhgcbxfykotbmup/Build/Products/Debug-iphonesimulator/Stripe \
-L/Users/abhijeetnigoskar/Library/Developer/Xcode/DerivedData/Runner-axtptzubiqvjnbhgcbxfykotbmup/Build/Products/Debug-iphonesimulator/shared_preferences \
-L/Users/abhijeetnigoskar/Desktop/flutter_workspace/zenspace_pro/ios/Pods/Stripe/InternalFrameworks \
-L/Users/abhijeetnigoskar/Desktop/flutter_workspace/zenspace_pro/ios/Flutter \
-F/Users/abhijeetnigoskar/Library/Developer/Xcode/DerivedData/Runner-axtptzubiqvjnbhgcbxfykotbmup/Build/Products/Debug-iphonesimulator \
-F/Users/abhijeetnigoskar/Desktop/flutter_workspace/zenspace_pro/ios/Pods/../.symlinks/flutter/ios \
-F/Users/abhijeetnigoskar/Desktop/flutter_workspace/zenspace_pro/ios/Flutter \
-filelist /Users/abhijeetnigoskar/Library/Developer/Xcode/DerivedData/Runner-axtptzubiqvjnbhgcbxfykotbmup/Build/Intermediates.noindex/Runner.build/Debug-iphonesimulator/Runner.build/Objects-normal/x86_64/Runner.LinkFileList \
-Xlinker -rpath -Xlinker @executable_path/Frameworks \
-mios-simulator-version-min=9.0 -dead_strip -Xlinker -object_path_lto \
-Xlinker /Users/abhijeetnigoskar/Library/Developer/Xcode/DerivedData/Runner-axtptzubiqvjnbhgcbxfykotbmup/Build/Intermediates.noindex/Runner.build/Debug-iphonesimulator/Runner.build/Objects-normal/x86_64/Runner_lto.o \
-Xlinker -export_dynamic -Xlinker -no_deduplicate \
-Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc \
-fobjc-link-runtime -ObjC -lStripe -lStripe3DS2 -lshared_preferences \
-framework Contacts …
Run Code Online (Sandbox Code Playgroud) 在 PostgreSQL 中,我有一个带有自定义函数的数据库,该函数使用系统函数在数据库表中加载文件的二进制内容pg_read_binary_file
。
如果我在具有超级用户权限的用户下运行此自定义函数,它将成功执行。但是当用户没有超级用户权限时,我收到错误:
permission denied for function pg_read_binary_file
Run Code Online (Sandbox Code Playgroud)
我认为我所需要的只是为此类用户GRANT
授予该功能的权限EXECUTE
,因此我执行了以下操作:
GRANT EXECUTE ON FUNCTION pg_read_binary_file(text,bigint,bigint,boolean) TO someuser;
GRANT EXECUTE ON FUNCTION pg_read_binary_file(text,bigint,bigint) TO someuser;
GRANT EXECUTE ON FUNCTION pg_read_binary_file(text) TO someuser;
Run Code Online (Sandbox Code Playgroud)
如果我检查权限
SELECT proacl FROM pg_proc WHERE proname='pg_read_binary_file';
Run Code Online (Sandbox Code Playgroud)
我得到:
{postgres=X/postgres,someuser=X/postgres}
{postgres=X/postgres,someuser=X/postgres}
{postgres=X/postgres,someuser=X/postgres}
Run Code Online (Sandbox Code Playgroud)
据我了解,现在someuser
有权执行该函数pg_read_binary_file
。但是当我尝试运行自定义函数时,我仍然收到相同的错误:
permission denied for function pg_read_binary_file
Run Code Online (Sandbox Code Playgroud)
那么问题是如何授予非超级用户执行该函数的权限pg_read_binary_file
?也许还有一些必须授予的额外权限,但这并不明显。
在Portgres 系统功能的文档中pg_read_binary_file
写道:
默认情况下仅限超级用户,但可以授予其他用户
EXECUTE
运行该功能。
我搜索了一些有关如何授予此类权限的其他信息,但没有运气。
目前正在检查将 Postgres 从 10.4 升级到 11.5 的过程。
当我pg_upgrade
使用“检查”选项运行时,我收到以下消息。如果您对此以及如何解决该问题有任何意见,我将不胜感激。
bash-4.2$ /usr/pgsql-11/bin/pg_upgrade \
> -b /usr/pgsql-10/bin \
> -B /usr/pgsql-11/bin \
> -d /var/lib/pgsql/10/data \
> -D /var/lib/pgsql/11/data \
> -c pgsql-10/ pgsql-11/
Performing Consistency Checks on Old Live Server
------------------------------------------------
Checking cluster versions
ok
Checking database user is the install user
ok
Checking database connection settings
ok
Checking for prepared transactions
ok
Checking for reg* data types in user tables
ok
Checking for contrib/isn with bigint-passing mismatch
ok
encodings …
Run Code Online (Sandbox Code Playgroud)