小编dc1*_*c10的帖子

如何缩小pg_toast表?

我在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)

postgresql

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

如何检索多个地方(placeids)的Google地方详细信息

是否可以检索多个地方的地点详细信息?

https://maps.googleapis.com/maps/api/place/details/json?placeid=[ArrayInsteadOfJustOnePlaceId]
Run Code Online (Sandbox Code Playgroud)

文档没有提到有关解决多个地方的任何事情.

谷歌地方文件

google-maps google-places-api

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

如何在angular2中获取FormControl的值

我有一个包含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)

angular2-forms angular

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

rails - postgres错误:原因:不兼容的库版本:libpq.5.dylib需要1.0.0或更高版本,

我在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)

ruby postgresql macos ruby-on-rails osx-snow-leopard

10
推荐指数
2
解决办法
8819
查看次数

无法创建solr核心

我有一个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)

solr

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

rails如何安全地从rails命令运行系统命令

我有一个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格式,但是如何确保没有有害代码发送到我的系统命令?

security ruby-on-rails

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

我如何序列化 - 反序列化哈希以便将其保存在数据库中?

我有一个哈希:

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)

我猜这是由于时间字符串中的冒号.那么持久化哈希并再次检索它的最佳方法是什么?

感谢帮助.最好,菲利普

ruby hash serialization ruby-on-rails

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

红宝石中的界面式设计模式

我正在寻求有关设计模式的帮助.我非常习惯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)

但我真的不确定,如果这是"红宝石的方式".

欢迎提供帮助,建议和建议.最好,菲尔

ruby design-patterns

8
推荐指数
2
解决办法
3323
查看次数

代理服务器或如何获取静态IP

我需要访问一个web服务,它需要一个ip,它位于提供商的IP白名单中.因此,我需要一个静态IP才能从多台机器访问这台机器.所以我想知道如何实现这一目标.是否有免费代理服务,您可以获得静态IP?或DynDns可能?

我期待着听到你的想法.

proxy static-ip-address

8
推荐指数
0
解决办法
5031
查看次数

Rails 4如何加速json渲染

我有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,但视图渲染仍然太慢

performance json rendering jbuilder ruby-on-rails-4

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

如何从模型中为html标记生成唯一的dom id

我有一个索引视图,其中有几行用于具有多个属性的项目.我想用ajax更新items属性的内容,因此我需要一个唯一的dom id.有辅助方法吗?我现在正在做的是:

<span id="<%=  item.id.to_s + "_on_storage"%>">
Run Code Online (Sandbox Code Playgroud)

最好,菲尔

views ruby-on-rails helpers

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

如何在天蓝色位置获取可用虚拟机大小的列表

我想以新的大小在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)

因此,我想知道在哪里可以找到某个位置的有效部署虚拟机大小以及带有模板文件的正确部署名称?

azure

3
推荐指数
3
解决办法
6134
查看次数

gdata api v3 youtube,无法检索contentDetails

我试图通过搜索获得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一般?最好的菲尔

javascript youtube-api gdata

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