我在mac osx上运行postgres 9.3,我有一个失去控制的数据库.我以前有一个表有一个存储大数据的列.然后我注意到,由于pg_toast表,db大小增长到大约19gb.然后我删除提到的列并运行vacuum以便再次将db调整到更小的大小,但它保持不变.那么如何缩小数据库大小呢?
SELECT nspname || '.' || relname AS "relation"
,pg_size_pretty(pg_relation_size(C.oid)) AS "size"
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
ORDER BY pg_relation_size(C.oid) DESC
LIMIT 20;
Run Code Online (Sandbox Code Playgroud)
结果是
pg_toast.pg_toast_700305 | 18 GB
pg_toast.pg_toast_700305_index | 206 MB
public.catalog_hotelde_images | 122 MB
public.routes | 120 MB
VACUUM VERBOSE ANALYZE pg_toast.pg_toast_700305; INFO: vacuuming "pg_toast.pg_toast_700305"
INFO: index "pg_toast_700305_index" now contains 9601330 row versions in 26329 pages
DETAIL: 0 index row versions were removed.
0 …Run Code Online (Sandbox Code Playgroud) 是否可以检索多个地方的地点详细信息?
https://maps.googleapis.com/maps/api/place/details/json?placeid=[ArrayInsteadOfJustOnePlaceId]
Run Code Online (Sandbox Code Playgroud)
文档没有提到有关解决多个地方的任何事情.
我有一个包含FormGroups的FormArray的以下表单
<form [formGroup]="screenForm" novalidate>
<div formArrayName="iPhoneScreenshots" class="row">
<div *ngIf="screenForm.controls.iPhoneScreenshots?.length > 0">
{{screenForm.controls.iPhoneScreenshots?.length }}
<div *ngFor="let url of screenForm.controls.iPhoneScreenshots.controls; let i=index">
<div [formGroupName]="i">
<input class="form-control" formControlName="url">
<img src="{{app.screenshotUrls[i]}}" class="rounded img-fluid app-screen" style="height:200px"/>
</div>
</div>
</div>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
url值来自一个数组,该数组在回调中通过API填充我设置的值:
private setScreenShots(app: ItunesApp): void {
if (app.hasOwnProperty('screenshotUrls')) {
const screenShots = app.screenshotUrls.map(url => {
return this.fb.group({
url: [url, Validators.required]
});
}
);
const screenShotsArray = this.fb.array(screenShots);
this.screenForm.setControl('iPhoneScreenshots', screenShotsArray);
}
}
Run Code Online (Sandbox Code Playgroud)
初始数组为空
private createForm() {
this.appSiteForm = this.fb.group({
title: ['', Validators.required]
});
this.screenForm = …Run Code Online (Sandbox Code Playgroud) 我在Mac(10.6.8)上遇到了Ruby(1.9.3),Rails和Postgres(9.0.8)的设置.每次运行时rails console我都会收到以下错误:
/Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg.rb:4:in `require': dlopen(/Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg_ext.bundle, 9): Library not loaded: @loader_path/../lib/libssl.dylib (LoadError)
Referenced from: /usr/lib/libpq.5.dylib
Reason: Incompatible library version: libpq.5.dylib requires version 1.0.0 or later, but libssl.0.9.8.dylib provides version 0.9.8 - /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg_ext.bundle
from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg.rb:4:in `<top (required)>'
from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:68:in `require'
from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:66:in `each'
from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:66:in `block in require'
from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:55:in `each'
from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:55:in `require'
from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler.rb:119:in `require'
from /Users/dc/Documents/Aptana Studio 3 Workspace/http/config/application.rb:7:in `<top (required)>'
from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/railties-3.2.6/lib/rails/commands.rb:39:in `require'
from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/railties-3.2.6/lib/rails/commands.rb:39:in `<top (required)>'
from script/rails:6:in …Run Code Online (Sandbox Code Playgroud) 我有一个solr 5.2.1实例,我想创建一个名为production的新核心.我有几个问题已经解决了访问权限,但以下异常对我来说完全不清楚.感谢帮助.
org.apache.solr.common.SolrException: Error CREATEing SolrCore 'production': Unable to create core [production] Caused by: solr.JsonUpdateRequestHandler
at org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:661)
at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestInternal(CoreAdminHandler.java:213)
at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:193)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:143)
at org.apache.solr.servlet.HttpSolrCall.handleAdminRequest(HttpSolrCall.java:660)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:431)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:227)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:196)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:497)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.solr.common.SolrException: Unable to create core [production]
at …Run Code Online (Sandbox Code Playgroud) 我有一个ActiveJob触发系统脚本运行:
`grunt custom-job --src=files --dest="file" --vars='#{user_input_vars_from_json}'`
Run Code Online (Sandbox Code Playgroud)
重点在于
user_input_vars_from_json
Run Code Online (Sandbox Code Playgroud)
是一个json配置,它来自控制器的用户输入参数.我确实验证了json格式,但是如何确保没有有害代码发送到我的系统命令?
我有一个哈希:
h = {
"revision"=>7,
"rev"=>"708a4bd5b",
"thumb_exists"=>false,
"bytes"=>246000,
"modified"=>"Sun, 01 Jul 2012 17:09:15 +0000",
"client_mtime"=>"Sun, 01 Jul 2012 17:09:15 +0000",
"path"=>"/Getting Started.pdf",
"is_dir"=>false,
"icon"=>"page_white_acrobat",
"root"=>"dropbox",
"mime_type"=>"application/pdf",
"size"=>"240.2 KB"
}
Run Code Online (Sandbox Code Playgroud)
我想使用以下命令将其保存在数据库中:h.to_s
然后我想从数据库中获取内容并将其作为哈希使用.
s = MyModel[:field_which_contains_hash_string]
Run Code Online (Sandbox Code Playgroud)
我试图加载内容,YAML::load s但我收到一个错误:
Psych::SyntaxError: (<unknown>): found unexpected ':' while scanning a plain scalar at line 1 column 96
Run Code Online (Sandbox Code Playgroud)
我猜这是由于时间字符串中的冒号.那么持久化哈希并再次检索它的最佳方法是什么?
感谢帮助.最好,菲利普
我正在寻求有关设计模式的帮助.我非常习惯java中的接口,我不知道如何在ruby中获得类似的机制.它需要的是一种具有接触方法的接口.为了获得联系我需要打电话给api,这可能是google,linkedid或任何web服务.所以我想使用一个界面,它为我提供了联系方式,我不想知道任何关于提供者的信息.
我的第一次尝试看起来像这样(伪代码):
Module AbstractContact
def contacts
#do some stuff with @data
@data
end
end
class Impl
include AbstractContact
def build_provider(provider)
if provider == :google
#get the data from google
gdata= api_call
@data = gdata
elsif provider == :linkedin
end
end
end
c=Impl.new
c.build_provider
c.contacts
Run Code Online (Sandbox Code Playgroud)
但我真的不确定,如果这是"红宝石的方式".
欢迎提供帮助,建议和建议.最好,菲尔
我需要访问一个web服务,它需要一个ip,它位于提供商的IP白名单中.因此,我需要一个静态IP才能从多台机器访问这台机器.所以我想知道如何实现这一目标.是否有免费代理服务,您可以获得静态IP?或DynDns可能?
我期待着听到你的想法.
我有1500个小对象来渲染rails 4应用程序中的web服务.我使用json作为格式与jbuilder模板.我已经在app初始化程序中将json引擎更改为oj:
require 'oj_mimic_json'
#MultiJson.use :yajl
Oj.mimic_JSON
# jbuilder json templates
Jbuilder.key_format camelize: :lower
Run Code Online (Sandbox Code Playgroud)
单个渲染的json对象如下所示:
center: {lat: 45.962153536249, lon: 7.68207088549831}
lat: 45.962153536249
lon: 7.68207088549831
n: "Zermatt-Cervinia"
st: 80
sy: 0
Rendered json_partials/_snow_in_resort.json.jbuilder (0.5ms)
Rendered json_partials/_snow_in_resort.json.jbuilder (0.5ms)
....
Rendered resorts/find.json.jbuilder (4213.4ms)
Completed 200 OK in 4351ms (Views: 3924.3ms | ActiveRecord: 306.8ms | Solr: 0.0ms)
Run Code Online (Sandbox Code Playgroud)
但是我的本地主机上仍然需要150毫秒的101 kb,这对于我想在UI上完成的任务来说太慢了.我需要做些什么来加速这里?我应该检查哪些事项?我很感激帮助.最好,菲利普
更新
我将我的活动记录查询优化到ActiveRecord:77.8ms,但视图渲染仍然太慢
我有一个索引视图,其中有几行用于具有多个属性的项目.我想用ajax更新items属性的内容,因此我需要一个唯一的dom id.有辅助方法吗?我现在正在做的是:
<span id="<%= item.id.to_s + "_on_storage"%>">
Run Code Online (Sandbox Code Playgroud)
最好,菲尔
我想以新的大小在Microsoft的Azure中部署VM。通常我为vm使用大小为'Standard_DS3'的vm的json模板,现在我想再有一个大小为a3'A3'的json模板,但这会导致错误
statusMessage:{"error":{"code":"InvalidParameter","target":"vmSize","message":"The value of parameter vmSize is invalid."}}
Run Code Online (Sandbox Code Playgroud)
因此,我想知道在哪里可以找到某个位置的有效部署虚拟机大小以及带有模板文件的正确部署名称?
我试图通过搜索获得YouTube视频的持续时间
var request = gapi.client.youtube.search.list({
q: q,
type : "video",
maxResults : 10,
part: 'snippet,contentDetails'
});
Run Code Online (Sandbox Code Playgroud)
作为一个额外的部分参数,我添加了contentDetails以获得持续时间,你可以在他们的文档中看到. https://developers.google.com/youtube/v3/getting-started
现在是愚蠢的部分.我得到的回应如下:
[
{
"error": {
"code": -32602,
"message": "contentDetails",
"data": [
{
"domain": "youtube.part",
"reason": "unknownPart",
"message": "contentDetails",
"locationType": "parameter",
"location": "part"
}
]
},
"id": "gapiRpc"
}
]
Run Code Online (Sandbox Code Playgroud)
"因此,part参数要求您选择应用程序实际使用的资源组件"那就是我做了什么,现在他们不再知道自己的参数了?
所以我想知道如何检索持续时间顺序contentDetails一般?最好的菲尔
ruby ×3
postgresql ×2
angular ×1
azure ×1
gdata ×1
google-maps ×1
hash ×1
helpers ×1
javascript ×1
jbuilder ×1
json ×1
macos ×1
performance ×1
proxy ×1
rendering ×1
security ×1
solr ×1
views ×1
youtube-api ×1