Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
1.671USD
STEEM
0.000STEEM
SBD
0.001SBD
Own SP
30.922SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
30.922SP
Delegated Out
0.000SP
Delegation In
0.000SP
Effective Power
30.922SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.001SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "50352.727831 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "sbd_balance": "0.001 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namegists
id1172122
rank60,915
reputation237674326
created2018-11-16T21:27:12
recovery_accountblocktrades
proxyNone
post_count6
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-11-25T22:34:24
last_root_post2018-11-25T22:34:24
last_vote_time2018-12-06T00:56:24
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power9,413
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.001 SBD
savings_sbd_balance0.000 SBD
vesting_shares50352.727831 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares0.000000 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2018-12-18T01:24:42
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 1172122,
  "name": "gists",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6tDMHxT38ao3wyHcJaKhsLoB8rXVvZVqGtkZfph6wZ685sVTzU",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM58y3WKrhWj83eDQv8HXe14LcyLPvaehVAcy4PbxALbffdyK8eE",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [
      [
        "steempeak.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM57zecpuUzpdu9EAoyiREArcBrP6jpTkvjHYW8dghs8rz3KDKS9",
        1
      ]
    ]
  },
  "memo_key": "STM7jarXDShzaMzuTbNdwwLQaXhF8jtYDUD5Qw7P3LHhwsAzjLSGg",
  "json_metadata": "{}",
  "posting_json_metadata": "{}",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "2018-12-18T01:24:42",
  "created": "2018-11-16T21:27:12",
  "mined": false,
  "recovery_account": "blocktrades",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 6,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "47397410280",
    "last_update_time": 1544057784
  },
  "downvote_manabar": {
    "current_mana": 0,
    "last_update_time": 1542403632
  },
  "voting_power": 9413,
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.001 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "2018-11-25T22:07:24",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "50352.727831 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 0,
  "posting_rewards": 0,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-11-25T22:34:24",
  "last_root_post": "2018-11-25T22:34:24",
  "last_vote_time": "2018-12-06T00:56:24",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": 237674326,
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 60915
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
2019/11/16 23:07:09
parent authorgists
parent permlinkrails
authorsteemitboard
permlinksteemitboard-notify-gists-20191116t230708000z
title
bodyCongratulations @gists! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@gists/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@gists) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=gists)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #38237627/Trx b643eed9a422ee3a893ac6c1c533a753fe6a8bfe
View Raw JSON Data
{
  "trx_id": "b643eed9a422ee3a893ac6c1c533a753fe6a8bfe",
  "block": 38237627,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-16T23:07:09",
  "op": [
    "comment",
    {
      "parent_author": "gists",
      "parent_permlink": "rails",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-gists-20191116t230708000z",
      "title": "",
      "body": "Congratulations @gists! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@gists/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@gists) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=gists)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
gistspublished a new post: postgres
2019/07/23 17:34:18
parent author
parent permlinkpostgres
authorgists
permlinkpostgres
titlePostgres Reference
body@@ -6072,16 +6072,473 @@ s;%0A%60%60%60%0A%0A +### Ideal column order%0A%0A%3E Sort the columns by their type length as defined in pg_type%0A%0A%3E Much like filling a jar with rocks, pebbles, and sand, the most efficient way to declare a Postgres table is by the column alignment type. Bigger columns first, medium columns next, small columns last, and weird exceptions like NUMERIC and TEXT tacked to the end as if they were dust in our analogy.%0A%0A%5Bsource%5D(https://www.2ndquadrant.com/en/blog/on-rocks-and-sand/)%0A%0A%0A ## Resou
json metadata{"community":"steempeak","format":"markdown","app":"steemit/0.1","links":["https://wiki.postgresql.org/wiki/Index-only_scans","https://dba.stackexchange.com/a/147121","https://www.2ndquadrant.com/en/blog/on-rocks-and-sand/","https://stackoverflow.com/a/24811058","http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables","http://tapoueh.org/blog/2013/03/batch-update/","https://www.postgresql.org/docs/9.1/static/functions-formatting.html"],"tags":["postgres"],"image":["https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png"]}
Transaction InfoBlock #34919814/Trx 9440576e3364955a753ecef79055ff251db5fb40
View Raw JSON Data
{
  "trx_id": "9440576e3364955a753ecef79055ff251db5fb40",
  "block": 34919814,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-07-23T17:34:18",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "postgres",
      "author": "gists",
      "permlink": "postgres",
      "title": "Postgres Reference",
      "body": "@@ -6072,16 +6072,473 @@\n s;%0A%60%60%60%0A%0A\n+### Ideal column order%0A%0A%3E Sort the columns by their type length as defined in pg_type%0A%0A%3E Much like filling a jar with rocks, pebbles, and sand, the most efficient way to declare a Postgres table is by the column alignment type. Bigger columns first, medium columns next, small columns last, and weird exceptions like NUMERIC and TEXT tacked to the end as if they were dust in our analogy.%0A%0A%5Bsource%5D(https://www.2ndquadrant.com/en/blog/on-rocks-and-sand/)%0A%0A%0A\n ## Resou\n",
      "json_metadata": "{\"community\":\"steempeak\",\"format\":\"markdown\",\"app\":\"steemit/0.1\",\"links\":[\"https://wiki.postgresql.org/wiki/Index-only_scans\",\"https://dba.stackexchange.com/a/147121\",\"https://www.2ndquadrant.com/en/blog/on-rocks-and-sand/\",\"https://stackoverflow.com/a/24811058\",\"http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables\",\"http://tapoueh.org/blog/2013/03/batch-update/\",\"https://www.postgresql.org/docs/9.1/static/functions-formatting.html\"],\"tags\":[\"postgres\"],\"image\":[\"https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png\"]}"
    }
  ]
}
gistspublished a new post: mysql
2019/03/27 18:44:24
parent author
parent permlinkmysql
authorgists
permlinkmysql
titleMySQL Reference
body@@ -1591,16 +1591,869 @@ C;%0A%60%60%60%0A%0A +## Moving MySQL data directory%0A%0AAdapted from https://www.digitalocean.com/community/tutorials/how-to-move-a-mysql-data-directory-to-a-new-location-on-ubuntu-16-04%0A%0A##### Step 1 %E2%80%94 Moving the MySQL Data Directory%0A%0A%60%60%60%0A$ sudo systemctl stop mysql%0A$ sudo rsync -av /var/lib/mysql /mnt/volume-nyc1-01%0A$ sudo mv /var/lib/mysql /var/lib/mysql.bak%0A%60%60%60%0A%0A(or symlink to new directory instead of moving datadir itself)%0A%0A##### Step 2 %E2%80%94 Pointing to the New Data Location%0A%0A%60%60%60%0A$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf%0A . . .%0A datadir=/mnt/volume-nyc1-01/mysql%0A . . .%0A%60%60%60%0A%0A##### Step 3 %E2%80%94 Configuring AppArmor Access Control Rules%0A%0A%60%60%60%0A$ sudo vim /etc/apparmor.d/tunables/alias%0A . . .%0A alias /var/lib/mysql/ -%3E /mnt/volume-nyc1-01/mysql/,%0A . . .%0A$ sudo systemctl restart apparmor%0A%60%60%60%0A%0A##### Step 4 %E2%80%94 Restarting MySQL%0A%0A%60%60%60%0A$ sudo systemctl start mysql%0A%60%60%60%0A%0A%0A%0A %0A## Reso
json metadata{"tags":["mysql"],"app":"steemit/0.1","image":["https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg"],"links":["https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html","https://www.digitalocean.com/community/tutorials/how-to-move-a-mysql-data-directory-to-a-new-location-on-ubuntu-16-04","https://sqlfum.pt/"],"format":"markdown"}
Transaction InfoBlock #31527633/Trx c5e552e763723edc670582e6cbf81e3f338e3e59
View Raw JSON Data
{
  "trx_id": "c5e552e763723edc670582e6cbf81e3f338e3e59",
  "block": 31527633,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-03-27T18:44:24",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "mysql",
      "author": "gists",
      "permlink": "mysql",
      "title": "MySQL Reference",
      "body": "@@ -1591,16 +1591,869 @@\n C;%0A%60%60%60%0A%0A\n+## Moving MySQL data directory%0A%0AAdapted from https://www.digitalocean.com/community/tutorials/how-to-move-a-mysql-data-directory-to-a-new-location-on-ubuntu-16-04%0A%0A##### Step 1 %E2%80%94 Moving the MySQL Data Directory%0A%0A%60%60%60%0A$ sudo systemctl stop mysql%0A$ sudo rsync -av /var/lib/mysql /mnt/volume-nyc1-01%0A$ sudo mv /var/lib/mysql /var/lib/mysql.bak%0A%60%60%60%0A%0A(or symlink to new directory instead of moving datadir itself)%0A%0A##### Step 2 %E2%80%94 Pointing to the New Data Location%0A%0A%60%60%60%0A$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf%0A  . . .%0A  datadir=/mnt/volume-nyc1-01/mysql%0A  . . .%0A%60%60%60%0A%0A##### Step 3 %E2%80%94 Configuring AppArmor Access Control Rules%0A%0A%60%60%60%0A$ sudo vim /etc/apparmor.d/tunables/alias%0A  . . .%0A  alias /var/lib/mysql/ -%3E /mnt/volume-nyc1-01/mysql/,%0A  . . .%0A$ sudo systemctl restart apparmor%0A%60%60%60%0A%0A##### Step 4 %E2%80%94 Restarting MySQL%0A%0A%60%60%60%0A$ sudo systemctl start mysql%0A%60%60%60%0A%0A%0A%0A\n %0A## Reso\n",
      "json_metadata": "{\"tags\":[\"mysql\"],\"app\":\"steemit/0.1\",\"image\":[\"https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg\"],\"links\":[\"https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html\",\"https://www.digitalocean.com/community/tutorials/how-to-move-a-mysql-data-directory-to-a-new-location-on-ubuntu-16-04\",\"https://sqlfum.pt/\"],\"format\":\"markdown\"}"
    }
  ]
}
gistspublished a new post: postgres
2018/12/19 01:00:18
parent author
parent permlinkpostgres
authorgists
permlinkpostgres
titlePostgres Reference
body@@ -3108,37 +3108,51 @@ (%0A SELECT oid, -%0A + reltuples, CAST(%0A%09 coalesce(nu @@ -3203,32 +3203,38 @@ eloptions, ','), +%0A%09%09%09%09 'autovacuum_vac @@ -3346,33 +3346,8 @@ GINT - AS rel_av_vac_threshold, %0A @@ -3343,32 +3343,34 @@ :BIGINT%0A + + coalesce(nullif @@ -3417,32 +3417,38 @@ eloptions, ','), +%0A%09%09%09%09 'autovacuum_vac @@ -3567,35 +3567,48 @@ ERIC - AS rel_av_vac_scale_factor +%0A%09%09 * reltuples AS NUMERIC) AS threshold %0A @@ -3659,34 +3659,37 @@ TO_CHAR(c -ls +onfig .reltuples, '9G9 @@ -3692,35 +3692,32 @@ '9G999G999G999') - AS tu @@ -3828,77 +3828,17 @@ fig. -rel_av_vac_threshold + config.rel_av_vac_scale_factor * cls.reltuples +threshold , '9 @@ -3843,32 +3843,42 @@ '9G999G999G999') + AS threshold,%0A @@ -3887,29 +3887,24 @@ ROUND( -CAST( stats.n_dead @@ -3914,121 +3914,114 @@ p / -( config. -rel_av_vac_threshold + config.rel_av_vac_scale_factor * cls.reltuples) AS NUMERIC), 2) + autovacuum_count +threshold, 2) AS autovacuum_percent,%0A%09%09 autovacuum_count AS @@ -4199,18 +4199,24 @@ _count,%0A -%09%09 + TO_CHAR @@ -4276,17 +4276,20 @@ _vacuum%0A -%09 + FROM pg_ @@ -4315,55 +4315,8 @@ ats%0A - JOIN pg_class cls ON stats.relid = cls.oid%0A @@ -4358,34 +4358,37 @@ g.oid%0AORDER BY c -ls +onfig .reltuples DESC; @@ -4447,24 +4447,41 @@ SELECT oid, + reltuples, CAST( %0A co @@ -4541,32 +4541,38 @@ eloptions, ','), +%0A%09%09%09%09 'autovacuum_ana @@ -4686,39 +4686,19 @@ GINT - AS autoana_threshold, %0A + ++ coa @@ -4765,16 +4765,22 @@ s, ','), +%0A%09%09%09%09 'autova @@ -4909,32 +4909,48 @@ ERIC - AS autoana_scale_factor +%0A%09%09 * reltuples AS NUMERIC) AS threshold %0A @@ -5009,18 +5009,21 @@ O_CHAR(c -ls +onfig .reltupl @@ -5048,35 +5048,32 @@ ') - - AS tuples,%0A%09%09 TO @@ -5059,34 +5059,40 @@ AS tuples,%0A -%09%09 + TO_CHAR(stats.n @@ -5147,18 +5147,24 @@ tuples,%0A -%09%09 + TO_CHAR @@ -5167,32 +5167,24 @@ CHAR(config. -autoana_ threshold + @@ -5184,54 +5184,8 @@ hold - + config.autoana_scale_factor * cls.reltuples , '9 @@ -5198,16 +5198,29 @@ 99G999') + AS thre @@ -5230,22 +5230,23 @@ ld,%0A -%09%09 + ROUND( -CAST( stat @@ -5273,24 +5273,15 @@ e / -( config. -autoana_ thre @@ -5289,90 +5289,92 @@ hold - + config.autoana_scale_factor * cls.reltuples) AS numeric),2) + autoanalyze_count +, 2) AS autoanalyze_pct,%0A%09%09 autoanalyze_count AS @@ -5642,17 +5642,20 @@ analyze%0A -%09 + FROM pg_ @@ -5681,55 +5681,8 @@ ats%0A - JOIN pg_class cls ON stats.relid = cls.oid%0A @@ -5736,10 +5736,13 @@ BY c -ls +onfig .rel
json metadata{"tags":["postgres"],"image":["https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png"],"links":["https://wiki.postgresql.org/wiki/Index-only_scans","https://dba.stackexchange.com/a/147121","https://stackoverflow.com/a/24811058","http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables","http://tapoueh.org/blog/2013/03/batch-update/","https://www.postgresql.org/docs/9.1/static/functions-formatting.html"],"app":"steempeak","format":"markdown","community":"steempeak"}
Transaction InfoBlock #28686189/Trx bf4705da14d21537c6dd935cce4ea0c445ac7282
View Raw JSON Data
{
  "trx_id": "bf4705da14d21537c6dd935cce4ea0c445ac7282",
  "block": 28686189,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-12-19T01:00:18",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "postgres",
      "author": "gists",
      "permlink": "postgres",
      "title": "Postgres Reference",
      "body": "@@ -3108,37 +3108,51 @@\n  (%0A  SELECT oid,\n-%0A    \n+ reltuples, CAST(%0A%09\n      coalesce(nu\n@@ -3203,32 +3203,38 @@\n eloptions, ','),\n+%0A%09%09%09%09 \n  'autovacuum_vac\n@@ -3346,33 +3346,8 @@\n GINT\n- AS rel_av_vac_threshold,\n %0A   \n@@ -3343,32 +3343,34 @@\n :BIGINT%0A        \n+ +\n  coalesce(nullif\n@@ -3417,32 +3417,38 @@\n eloptions, ','),\n+%0A%09%09%09%09 \n  'autovacuum_vac\n@@ -3567,35 +3567,48 @@\n ERIC\n- AS rel_av_vac_scale_factor\n+%0A%09%09 * reltuples AS NUMERIC) AS threshold\n %0A   \n@@ -3659,34 +3659,37 @@\n        TO_CHAR(c\n-ls\n+onfig\n .reltuples, '9G9\n@@ -3692,35 +3692,32 @@\n '9G999G999G999')\n-   \n            AS tu\n@@ -3828,77 +3828,17 @@\n fig.\n-rel_av_vac_threshold + config.rel_av_vac_scale_factor * cls.reltuples\n+threshold\n , '9\n@@ -3843,32 +3843,42 @@\n '9G999G999G999')\n+          \n  AS threshold,%0A \n@@ -3887,29 +3887,24 @@\n       ROUND(\n-CAST(\n stats.n_dead\n@@ -3914,121 +3914,114 @@\n p / \n-(\n config.\n-rel_av_vac_threshold + config.rel_av_vac_scale_factor * cls.reltuples) AS NUMERIC), 2) + autovacuum_count\n+threshold, 2)        AS autovacuum_percent,%0A%09%09 autovacuum_count                                    \n  AS \n@@ -4199,18 +4199,24 @@\n _count,%0A\n-%09%09\n+        \n  TO_CHAR\n@@ -4276,17 +4276,20 @@\n _vacuum%0A\n-%09\n+    \n FROM pg_\n@@ -4315,55 +4315,8 @@\n ats%0A\n-    JOIN pg_class cls ON stats.relid = cls.oid%0A\n     \n@@ -4358,34 +4358,37 @@\n g.oid%0AORDER BY c\n-ls\n+onfig\n .reltuples DESC;\n@@ -4447,24 +4447,41 @@\n  SELECT oid,\n+ reltuples, CAST(\n %0A         co\n@@ -4541,32 +4541,38 @@\n eloptions, ','),\n+%0A%09%09%09%09 \n  'autovacuum_ana\n@@ -4686,39 +4686,19 @@\n GINT\n- AS autoana_threshold,\n %0A\n+ \n         \n++\n  coa\n@@ -4765,16 +4765,22 @@\n s, ','),\n+%0A%09%09%09%09 \n  'autova\n@@ -4909,32 +4909,48 @@\n ERIC\n- AS autoana_scale_factor\n+%0A%09%09 * reltuples AS NUMERIC) AS threshold\n %0A   \n@@ -5009,18 +5009,21 @@\n O_CHAR(c\n-ls\n+onfig\n .reltupl\n@@ -5048,35 +5048,32 @@\n ')              \n-  \n- \n AS tuples,%0A%09%09 TO\n@@ -5059,34 +5059,40 @@\n      AS tuples,%0A\n-%09%09\n+        \n  TO_CHAR(stats.n\n@@ -5147,18 +5147,24 @@\n tuples,%0A\n-%09%09\n+        \n  TO_CHAR\n@@ -5167,32 +5167,24 @@\n CHAR(config.\n-autoana_\n threshold + \n@@ -5184,54 +5184,8 @@\n hold\n- + config.autoana_scale_factor * cls.reltuples\n , '9\n@@ -5198,16 +5198,29 @@\n 99G999')\n+             \n  AS thre\n@@ -5230,22 +5230,23 @@\n ld,%0A\n-%09%09\n+        \n  ROUND(\n-CAST(\n stat\n@@ -5273,24 +5273,15 @@\n e / \n-(\n config.\n-autoana_\n thre\n@@ -5289,90 +5289,92 @@\n hold\n- + config.autoana_scale_factor * cls.reltuples) AS numeric),2) + autoanalyze_count\n+, 2)  AS autoanalyze_pct,%0A%09%09 autoanalyze_count                                      \n  AS \n@@ -5642,17 +5642,20 @@\n analyze%0A\n-%09\n+    \n FROM pg_\n@@ -5681,55 +5681,8 @@\n ats%0A\n-    JOIN pg_class cls ON stats.relid = cls.oid%0A\n     \n@@ -5736,10 +5736,13 @@\n BY c\n-ls\n+onfig\n .rel\n",
      "json_metadata": "{\"tags\":[\"postgres\"],\"image\":[\"https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png\"],\"links\":[\"https://wiki.postgresql.org/wiki/Index-only_scans\",\"https://dba.stackexchange.com/a/147121\",\"https://stackoverflow.com/a/24811058\",\"http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables\",\"http://tapoueh.org/blog/2013/03/batch-update/\",\"https://www.postgresql.org/docs/9.1/static/functions-formatting.html\"],\"app\":\"steempeak\",\"format\":\"markdown\",\"community\":\"steempeak\"}"
    }
  ]
}
gistspublished a new post: postgres
2018/12/18 01:26:24
parent author
parent permlinkpostgres
authorgists
permlinkpostgres
titlePostgres Reference
body@@ -3059,16 +3059,39 @@ ttings%0A%0A +#### Autovacuum stats%0A%0A %60%60%60%0AWITH @@ -3091,23 +3091,22 @@ %60%60%0AWITH -rel_set +config AS (%0A @@ -3618,20 +3618,21 @@ SELECT -PSUT +stats .relname @@ -3637,72 +3637,491 @@ me,%0A -%09%09 RS.rel_av_vac_scale_factor AS sf,%0A to_char(PSUT + TO_CHAR(cls.reltuples, '9G999G999G999') AS tuples,%0A TO_CHAR(stats.n_dead_tup, '9G999G999G999') AS dead_tuples,%0A TO_CHAR(config.rel_av_vac_threshold + config.rel_av_vac_scale_factor * cls.reltuples, '9G999G999G999') AS threshold,%0A ROUND(CAST(stats.n_dead_tup / (config.rel_av_vac_threshold + config.rel_av_vac_scale_factor * cls.reltuples) AS NUMERIC), 2) + autovacuum_count AS autovacuum_count,%0A TO_CHAR(stats .last_ +auto vacu @@ -4137,36 +4137,32 @@ -MM-DD HH24:MI') - AS last_vacuum, @@ -4150,24 +4150,28 @@ I') AS last_ +auto vacuum,%0A @@ -4175,38 +4175,108 @@ -to_char(PSUT +vacuum_count AS vacuum_count,%0A%09%09 TO_CHAR(stats .last_ -auto vacuum, @@ -4288,32 +4288,36 @@ -MM-DD HH24:MI') + AS last_autovac @@ -4313,221 +4313,948 @@ ast_ -autovacuum,%0A to_char(C.reltuples, '9G999G999G999') AS n_tup,%0A to_char(PSUT.n_dead_tup, '9G999G999G999') AS dead_tup,%0A to_char(RS.rel_av_vac_threshold + RS.rel_av_vac +vacuum%0A%09FROM pg_stat_user_tables stats%0A JOIN pg_class cls ON stats.relid = cls.oid%0A JOIN config ON stats.relid = config.oid%0AORDER BY cls.reltuples DESC;%0A%60%60%60%0A%0A#### Autoanalyze stats%0A%0A%60%60%60%0AWITH config AS (%0A SELECT oid,%0A coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_analyze_threshold=', 2), ',', 1), ''), %0A current_setting('autovacuum_analyze_threshold'))::BIGINT AS autoana_threshold,%0A coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_analyze_scale_factor=', 2), ',', 1), ''), %0A current_setting('autovacuum_analyze_scale_factor'))::NUMERIC AS autoana_scale_factor%0A FROM pg_class%0A) %0A SELECT stats.relname,%0A TO_CHAR(cls.reltuples, '9G999G999G999') AS tuples,%0A%09%09 TO_CHAR(stats.n_mod_since_analyze, '9G999G999G999') AS mod_tuples,%0A%09%09 TO_CHAR(config.autoana_threshold + config.autoana _sca @@ -5257,33 +5257,35 @@ _scale_factor * -C +cls .reltuples, '9G9 @@ -5300,19 +5300,16 @@ 99') AS -av_ threshol @@ -5315,67 +5315,92 @@ ld,%0A - CASE WHEN (RS.rel_av_vac_threshold + RS.rel_av_vac +%09%09 ROUND(CAST(stats.n_mod_since_analyze / (config.autoana_threshold + config.autoana _sca @@ -5411,17 +5411,19 @@ actor * -C +cls .reltupl @@ -5430,138 +5430,63 @@ es) -%3C PSUT.n_dead_tup THEN '*' ELSE '' END AS expect_av,%0A to_char(PSUT.last_analyze, 'YYYY-MM-DD HH24:MI') AS last_ +AS numeric),2) + autoanalyze_count AS auto analyze +_count ,%0A @@ -5496,20 +5496,21 @@ -to_char(PSUT +TO_CHAR(stats .las @@ -5537,32 +5537,34 @@ -MM-DD HH24:MI') + AS last_autoana @@ -5582,78 +5582,164 @@ -vacuum_count, autovacuum_count, analyze_count, autoanalyze_count %0A +analyze_count AS analyze_count,%0A TO_CHAR(stats.last_analyze, 'YYYY-MM-DD HH24:MI') AS last_analyze%0A%09 FROM @@ -5759,20 +5759,21 @@ _tables -PSUT +stats %0A JOI @@ -5787,17 +5787,20 @@ ass -C +cls ON -PSUT +stats .rel @@ -5804,17 +5804,19 @@ relid = -C +cls .oid%0A @@ -5825,26 +5825,24 @@ OIN -rel_set RS ON PSUT +config ON stats .rel @@ -5850,10 +5850,14 @@ d = -RS +config .oid @@ -5866,17 +5866,19 @@ RDER BY -C +cls .reltupl @@ -5891,16 +5891,33 @@ C;%0A%60%60%60%0A%0A +#### misc stats%0A%0A %60%60%60%0Asele
json metadata{"tags":["postgres"],"image":["https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png"],"links":["https://wiki.postgresql.org/wiki/Index-only_scans","https://dba.stackexchange.com/a/147121","https://stackoverflow.com/a/24811058","http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables","http://tapoueh.org/blog/2013/03/batch-update/","https://www.postgresql.org/docs/9.1/static/functions-formatting.html"],"app":"steempeak","format":"markdown","community":"steempeak"}
Transaction InfoBlock #28657944/Trx 4f9da4892bf8568f1163fd16b8998dbd77846a2a
View Raw JSON Data
{
  "trx_id": "4f9da4892bf8568f1163fd16b8998dbd77846a2a",
  "block": 28657944,
  "trx_in_block": 24,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-12-18T01:26:24",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "postgres",
      "author": "gists",
      "permlink": "postgres",
      "title": "Postgres Reference",
      "body": "@@ -3059,16 +3059,39 @@\n ttings%0A%0A\n+#### Autovacuum stats%0A%0A\n %60%60%60%0AWITH\n@@ -3091,23 +3091,22 @@\n %60%60%0AWITH \n-rel_set\n+config\n  AS (%0A  \n@@ -3618,20 +3618,21 @@\n  SELECT \n-PSUT\n+stats\n .relname\n@@ -3637,72 +3637,491 @@\n me,%0A\n-%09%09 RS.rel_av_vac_scale_factor AS sf,%0A         to_char(PSUT\n+         TO_CHAR(cls.reltuples, '9G999G999G999')              AS tuples,%0A         TO_CHAR(stats.n_dead_tup, '9G999G999G999')           AS dead_tuples,%0A         TO_CHAR(config.rel_av_vac_threshold + config.rel_av_vac_scale_factor * cls.reltuples, '9G999G999G999') AS threshold,%0A         ROUND(CAST(stats.n_dead_tup / (config.rel_av_vac_threshold + config.rel_av_vac_scale_factor * cls.reltuples) AS NUMERIC), 2) + autovacuum_count AS autovacuum_count,%0A         TO_CHAR(stats\n .last_\n+auto\n vacu\n@@ -4137,36 +4137,32 @@\n -MM-DD HH24:MI')\n-    \n  AS last_vacuum,\n@@ -4150,24 +4150,28 @@\n I') AS last_\n+auto\n vacuum,%0A    \n@@ -4175,38 +4175,108 @@\n         \n-to_char(PSUT\n+vacuum_count                                         AS vacuum_count,%0A%09%09 TO_CHAR(stats\n .last_\n-auto\n vacuum, \n@@ -4288,32 +4288,36 @@\n -MM-DD HH24:MI')\n+    \n  AS last_autovac\n@@ -4313,221 +4313,948 @@\n ast_\n-autovacuum,%0A         to_char(C.reltuples, '9G999G999G999')               AS n_tup,%0A         to_char(PSUT.n_dead_tup, '9G999G999G999')           AS dead_tup,%0A         to_char(RS.rel_av_vac_threshold + RS.rel_av_vac\n+vacuum%0A%09FROM pg_stat_user_tables stats%0A    JOIN pg_class cls ON stats.relid = cls.oid%0A    JOIN config  ON stats.relid = config.oid%0AORDER BY cls.reltuples DESC;%0A%60%60%60%0A%0A#### Autoanalyze stats%0A%0A%60%60%60%0AWITH config AS (%0A  SELECT oid,%0A         coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_analyze_threshold=', 2), ',', 1), ''), %0A                  current_setting('autovacuum_analyze_threshold'))::BIGINT AS autoana_threshold,%0A         coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_analyze_scale_factor=', 2), ',', 1), ''), %0A                  current_setting('autovacuum_analyze_scale_factor'))::NUMERIC AS autoana_scale_factor%0A    FROM pg_class%0A) %0A  SELECT stats.relname,%0A         TO_CHAR(cls.reltuples, '9G999G999G999')                 AS tuples,%0A%09%09 TO_CHAR(stats.n_mod_since_analyze, '9G999G999G999')     AS mod_tuples,%0A%09%09 TO_CHAR(config.autoana_threshold + config.autoana\n _sca\n@@ -5257,33 +5257,35 @@\n _scale_factor * \n-C\n+cls\n .reltuples, '9G9\n@@ -5300,19 +5300,16 @@\n 99') AS \n-av_\n threshol\n@@ -5315,67 +5315,92 @@\n ld,%0A\n-         CASE WHEN (RS.rel_av_vac_threshold + RS.rel_av_vac\n+%09%09 ROUND(CAST(stats.n_mod_since_analyze / (config.autoana_threshold + config.autoana\n _sca\n@@ -5411,17 +5411,19 @@\n actor * \n-C\n+cls\n .reltupl\n@@ -5430,138 +5430,63 @@\n es) \n-%3C PSUT.n_dead_tup THEN '*' ELSE '' END AS expect_av,%0A         to_char(PSUT.last_analyze, 'YYYY-MM-DD HH24:MI')     AS last_\n+AS numeric),2) + autoanalyze_count AS auto\n analyze\n+_count\n ,%0A  \n@@ -5496,20 +5496,21 @@\n     \n-to_char(PSUT\n+TO_CHAR(stats\n .las\n@@ -5537,32 +5537,34 @@\n -MM-DD HH24:MI')\n+  \n  AS last_autoana\n@@ -5582,78 +5582,164 @@\n     \n-vacuum_count, autovacuum_count, analyze_count, autoanalyze_count %0A    \n+analyze_count                                           AS analyze_count,%0A         TO_CHAR(stats.last_analyze, 'YYYY-MM-DD HH24:MI')       AS last_analyze%0A%09\n FROM\n@@ -5759,20 +5759,21 @@\n _tables \n-PSUT\n+stats\n %0A    JOI\n@@ -5787,17 +5787,20 @@\n ass \n-C\n+cls\n  ON \n-PSUT\n+stats\n .rel\n@@ -5804,17 +5804,19 @@\n relid = \n-C\n+cls\n .oid%0A   \n@@ -5825,26 +5825,24 @@\n OIN \n-rel_set RS ON PSUT\n+config  ON stats\n .rel\n@@ -5850,10 +5850,14 @@\n d = \n-RS\n+config\n .oid\n@@ -5866,17 +5866,19 @@\n RDER BY \n-C\n+cls\n .reltupl\n@@ -5891,16 +5891,33 @@\n C;%0A%60%60%60%0A%0A\n+#### misc stats%0A%0A\n %60%60%60%0Asele\n",
      "json_metadata": "{\"tags\":[\"postgres\"],\"image\":[\"https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png\"],\"links\":[\"https://wiki.postgresql.org/wiki/Index-only_scans\",\"https://dba.stackexchange.com/a/147121\",\"https://stackoverflow.com/a/24811058\",\"http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables\",\"http://tapoueh.org/blog/2013/03/batch-update/\",\"https://www.postgresql.org/docs/9.1/static/functions-formatting.html\"],\"app\":\"steempeak\",\"format\":\"markdown\",\"community\":\"steempeak\"}"
    }
  ]
}
gistsupdated their account properties
2018/12/18 01:24:42
accountgists
posting{"weight_threshold":1,"account_auths":[["steempeak.app",1]],"key_auths":[["STM57zecpuUzpdu9EAoyiREArcBrP6jpTkvjHYW8dghs8rz3KDKS9",1]]}
memo keySTM7jarXDShzaMzuTbNdwwLQaXhF8jtYDUD5Qw7P3LHhwsAzjLSGg
json metadata{}
Transaction InfoBlock #28657910/Trx fd12f6e7e6e07aa980899bb81b3fb46e621c54fb
View Raw JSON Data
{
  "trx_id": "fd12f6e7e6e07aa980899bb81b3fb46e621c54fb",
  "block": 28657910,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-12-18T01:24:42",
  "op": [
    "account_update",
    {
      "account": "gists",
      "posting": {
        "weight_threshold": 1,
        "account_auths": [
          [
            "steempeak.app",
            1
          ]
        ],
        "key_auths": [
          [
            "STM57zecpuUzpdu9EAoyiREArcBrP6jpTkvjHYW8dghs8rz3KDKS9",
            1
          ]
        ]
      },
      "memo_key": "STM7jarXDShzaMzuTbNdwwLQaXhF8jtYDUD5Qw7P3LHhwsAzjLSGg",
      "json_metadata": "{}"
    }
  ]
}
2018/12/06 00:56:24
votergists
authorfinteh
permlinkalfa-test-bitshares-wallet-12-03
weight0 (0.00%)
Transaction InfoBlock #28311971/Trx 62e88e79629088bec9a260a15f48d21d5a3f4074
View Raw JSON Data
{
  "trx_id": "62e88e79629088bec9a260a15f48d21d5a3f4074",
  "block": 28311971,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-12-06T00:56:24",
  "op": [
    "vote",
    {
      "voter": "gists",
      "author": "finteh",
      "permlink": "alfa-test-bitshares-wallet-12-03",
      "weight": 0
    }
  ]
}
2018/12/06 00:56:21
votergists
authorfinteh
permlinkalfa-test-bitshares-wallet-12-03
weight10000 (100.00%)
Transaction InfoBlock #28311970/Trx 71ec27a6fdb6aad59de5466208e65078e9a31ae4
View Raw JSON Data
{
  "trx_id": "71ec27a6fdb6aad59de5466208e65078e9a31ae4",
  "block": 28311970,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-12-06T00:56:21",
  "op": [
    "vote",
    {
      "voter": "gists",
      "author": "finteh",
      "permlink": "alfa-test-bitshares-wallet-12-03",
      "weight": 10000
    }
  ]
}
2018/12/06 00:55:36
votergists
authorcardboard
permlinkre-roadscape-re-cardboard-re-crokkon-re-cardboard-re-steemitdev-upcoming-changes-to-api-steemit-com-20181204t121943023z
weight10000 (100.00%)
Transaction InfoBlock #28311955/Trx f0d79d0db39b875da76db3804b88d66882ef580b
View Raw JSON Data
{
  "trx_id": "f0d79d0db39b875da76db3804b88d66882ef580b",
  "block": 28311955,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-12-06T00:55:36",
  "op": [
    "vote",
    {
      "voter": "gists",
      "author": "cardboard",
      "permlink": "re-roadscape-re-cardboard-re-crokkon-re-cardboard-re-steemitdev-upcoming-changes-to-api-steemit-com-20181204t121943023z",
      "weight": 10000
    }
  ]
}
2018/12/06 00:55:33
votergists
authorcardboard
permlinkre-roadscape-re-cardboard-re-crokkon-re-cardboard-re-steemitdev-upcoming-changes-to-api-steemit-com-20181205t030439103z
weight10000 (100.00%)
Transaction InfoBlock #28311954/Trx da89130176f46d69ec50dd2d5492601d979b319f
View Raw JSON Data
{
  "trx_id": "da89130176f46d69ec50dd2d5492601d979b319f",
  "block": 28311954,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-12-06T00:55:33",
  "op": [
    "vote",
    {
      "voter": "gists",
      "author": "cardboard",
      "permlink": "re-roadscape-re-cardboard-re-crokkon-re-cardboard-re-steemitdev-upcoming-changes-to-api-steemit-com-20181205t030439103z",
      "weight": 10000
    }
  ]
}
gistspublished a new post: mysql
2018/12/03 06:04:45
parent author
parent permlinkmysql
authorgists
permlinkmysql
titleMySQL Reference
body@@ -1453,16 +1453,105 @@ .tables%0A + WHERE table_schema NOT IN ('mysql', 'information_schema', 'sys','performance_schema')%0A ORDER BY
json metadata{"tags":["mysql"],"image":["https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg"],"links":["https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html","https://sqlfum.pt/"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #28231768/Trx 9db4d6a3b226372ff302d8a4233a8b2888f08684
View Raw JSON Data
{
  "trx_id": "9db4d6a3b226372ff302d8a4233a8b2888f08684",
  "block": 28231768,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-12-03T06:04:45",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "mysql",
      "author": "gists",
      "permlink": "mysql",
      "title": "MySQL Reference",
      "body": "@@ -1453,16 +1453,105 @@\n .tables%0A\n+   WHERE table_schema NOT IN ('mysql', 'information_schema', 'sys','performance_schema')%0A\n ORDER BY\n",
      "json_metadata": "{\"tags\":[\"mysql\"],\"image\":[\"https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg\"],\"links\":[\"https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html\",\"https://sqlfum.pt/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
hackerzizonupvoted (1.00%) @gists / rails
2018/11/30 19:28:36
voterhackerzizon
authorgists
permlinkrails
weight100 (1.00%)
Transaction InfoBlock #28161469/Trx dcccb85124e43d10d07a5a10ea8ca2a94505c25c
View Raw JSON Data
{
  "trx_id": "dcccb85124e43d10d07a5a10ea8ca2a94505c25c",
  "block": 28161469,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-30T19:28:36",
  "op": [
    "vote",
    {
      "voter": "hackerzizon",
      "author": "gists",
      "permlink": "rails",
      "weight": 100
    }
  ]
}
gistspublished a new post: rails
2018/11/30 19:27:09
parent author
parent permlinkrails
authorgists
permlinkrails
titleRuby on Rails Reference
body@@ -141,16 +141,17 @@ ve%0A%0A#### +# Mojave @@ -340,16 +340,17 @@ nclude%22%0A +%0A %5Bsource%5D
json metadata{"tags":["rails"],"image":["https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png"],"links":["https://gorails.com/setup/osx/10.14-mojave","https://github.com/brianmario/mysql2/issues/1005","https://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/","http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/","http://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/","http://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error","http://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/","https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261","https://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences","http://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #28161440/Trx b510f5a3836ba70ccfee57d3df1448d89103278d
View Raw JSON Data
{
  "trx_id": "b510f5a3836ba70ccfee57d3df1448d89103278d",
  "block": 28161440,
  "trx_in_block": 48,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-30T19:27:09",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "rails",
      "author": "gists",
      "permlink": "rails",
      "title": "Ruby on Rails Reference",
      "body": "@@ -141,16 +141,17 @@\n ve%0A%0A####\n+#\n  Mojave \n@@ -340,16 +340,17 @@\n nclude%22%0A\n+%0A\n %5Bsource%5D\n",
      "json_metadata": "{\"tags\":[\"rails\"],\"image\":[\"https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png\"],\"links\":[\"https://gorails.com/setup/osx/10.14-mojave\",\"https://github.com/brianmario/mysql2/issues/1005\",\"https://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/\",\"http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/\",\"http://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/\",\"http://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error\",\"http://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/\",\"https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261\",\"https://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences\",\"http://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
gistspublished a new post: rails
2018/11/30 19:26:48
parent author
parent permlinkrails
authorgists
permlinkrails
titleRuby on Rails Reference
body@@ -69,16 +69,428 @@ s.png)%0A%0A +## Installation%0A%0AGuide: https://gorails.com/setup/osx/10.14-mojave%0A%0A#### Mojave bug: 'An error occurred while installing mysql2 (0.5.2)%60%0A%0A%3E bundle config --local build.mysql2 %22--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include%22%0A%5Bsource%5D(https://github.com/brianmario/mysql2/issues/1005)%0A%0A## New project%0A%0A%60%60%60%0Arails new MyApp -d mysql --skip-coffee --skip-turbolinks%0A%60%60%60%0A%0A ## Migra
json metadata{"tags":["rails"],"image":["https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png"],"links":["https://gorails.com/setup/osx/10.14-mojave","https://github.com/brianmario/mysql2/issues/1005","https://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/","http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/","http://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/","http://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error","http://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/","https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261","https://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences","http://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #28161433/Trx 112ceb41d71a6996c144b6e61005c7dd4af5a179
View Raw JSON Data
{
  "trx_id": "112ceb41d71a6996c144b6e61005c7dd4af5a179",
  "block": 28161433,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-30T19:26:48",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "rails",
      "author": "gists",
      "permlink": "rails",
      "title": "Ruby on Rails Reference",
      "body": "@@ -69,16 +69,428 @@\n s.png)%0A%0A\n+## Installation%0A%0AGuide: https://gorails.com/setup/osx/10.14-mojave%0A%0A#### Mojave bug: 'An error occurred while installing mysql2 (0.5.2)%60%0A%0A%3E bundle config --local build.mysql2 %22--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include%22%0A%5Bsource%5D(https://github.com/brianmario/mysql2/issues/1005)%0A%0A## New project%0A%0A%60%60%60%0Arails new MyApp -d mysql --skip-coffee --skip-turbolinks%0A%60%60%60%0A%0A\n ## Migra\n",
      "json_metadata": "{\"tags\":[\"rails\"],\"image\":[\"https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png\"],\"links\":[\"https://gorails.com/setup/osx/10.14-mojave\",\"https://github.com/brianmario/mysql2/issues/1005\",\"https://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/\",\"http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/\",\"http://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/\",\"http://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error\",\"http://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/\",\"https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261\",\"https://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences\",\"http://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
aadeshere1upvoted (100.00%) @gists / rails
2018/11/30 08:00:27
voteraadeshere1
authorgists
permlinkrails
weight10000 (100.00%)
Transaction InfoBlock #28147713/Trx fc1913c05928e1b1cd2c22d05fcd1ff5e3ff20ce
View Raw JSON Data
{
  "trx_id": "fc1913c05928e1b1cd2c22d05fcd1ff5e3ff20ce",
  "block": 28147713,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-30T08:00:27",
  "op": [
    "vote",
    {
      "voter": "aadeshere1",
      "author": "gists",
      "permlink": "rails",
      "weight": 10000
    }
  ]
}
thetroublenotesupvoted (2.00%) @gists / rails
2018/11/26 02:34:03
voterthetroublenotes
authorgists
permlinkrails
weight200 (2.00%)
Transaction InfoBlock #28026030/Trx 40feef26ed67153dbcb540e2a7a3825fddd5c4a4
View Raw JSON Data
{
  "trx_id": "40feef26ed67153dbcb540e2a7a3825fddd5c4a4",
  "block": 28026030,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-26T02:34:03",
  "op": [
    "vote",
    {
      "voter": "thetroublenotes",
      "author": "gists",
      "permlink": "rails",
      "weight": 200
    }
  ]
}
slickhustler007upvoted (5.00%) @gists / rails
2018/11/26 02:33:42
voterslickhustler007
authorgists
permlinkrails
weight500 (5.00%)
Transaction InfoBlock #28026023/Trx 682475343968e202fd6c9388d13a0c7d0ac88987
View Raw JSON Data
{
  "trx_id": "682475343968e202fd6c9388d13a0c7d0ac88987",
  "block": 28026023,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-26T02:33:42",
  "op": [
    "vote",
    {
      "voter": "slickhustler007",
      "author": "gists",
      "permlink": "rails",
      "weight": 500
    }
  ]
}
gistspublished a new post: rails
2018/11/26 02:33:12
parent author
parent permlinkrails
authorgists
permlinkrails
titleRuby on Rails Reference
body![](https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png) ## Migrations ### Rails-MySQL integer types :limit MySQL-Type Col Size Max int (signed) 1 TINYINT 1 byte 127 (127) 2 SMALLINT 2 bytes 32,767 (32k) 3 MEDIUMINT 3 bytes 8,388,607 (8m) nil, 4, 11 INT(11) 4 bytes 2,147,483,647 (2b) 5..8 BIGINT 8 bytes 9,223,372,036,854,775,807 (9bb) https://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/ ### Rails-MySQL text types :limit (bytes) MySQL-type Rails-type 1..255 VARCHAR :string 1..255 TINYTEXT :text 256..65535 TEXT :text 65536..16777215 MEDIUMTEXT :text ..4294967295 LONGTEXT :text To create a CHAR column: ``` t.column :token, "char(12)" ``` To have a custom id column: ``` create_table :posts, :id => false do |t| t.integer :id, null: false, limit: 4, options: 'PRIMARY KEY' # <-- doesnt do anything end ``` ### Undo rake db:rollback STEP=1 ### Emoji and UTF-8 http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/ http://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/ http://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error http://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/ ### Innodb one file per table https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261 ## UTF-8 handling ``` body .encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '') .gsub(/joel/, name) ``` https://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences ------- You have middleware in your stack that is forcing this string to UTF-8, even when it is not valid UTF-8. The code that is doing this is bugged. Observe: ``` s = "a=\xff" # => "a=\xFF" s.force_encoding("binary") # => "a=\xFF" s.valid_encoding? # => true Rack::Utils.parse_nested_query(s) # => {"a"=>"\xFF"} s.force_encoding("utf-8") # => "a=\xFF" s.valid_encoding? # => false Rack::Utils.parse_nested_query(s) ArgumentError: invalid byte sequence in UTF-8 ``` http://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/ ## DateTime / strftime ``` Date (Year, Month, Day): %Y - Year with century (can be negative, 4 digits at least) -0001, 0000, 1995, 2009, 14292, etc. %C - year / 100 (round down. 20 in 2009) %y - year % 100 (00..99) %m - Month of the year, zero-padded (01..12) %_m blank-padded ( 1..12) %-m no-padded (1..12) %B - The full month name (``January'') %^B uppercased (``JANUARY'') %b - The abbreviated month name (``Jan'') %^b uppercased (``JAN'') %h - Equivalent to %b %d - Day of the month, zero-padded (01..31) %-d no-padded (1..31) %e - Day of the month, blank-padded ( 1..31) %j - Day of the year (001..366) Time (Hour, Minute, Second, Subsecond): %H - Hour of the day, 24-hour clock, zero-padded (00..23) %k - Hour of the day, 24-hour clock, blank-padded ( 0..23) %I - Hour of the day, 12-hour clock, zero-padded (01..12) %l - Hour of the day, 12-hour clock, blank-padded ( 1..12) %P - Meridian indicator, lowercase (``am'' or ``pm'') %p - Meridian indicator, uppercase (``AM'' or ``PM'') %M - Minute of the hour (00..59) %S - Second of the minute (00..59) %L - Millisecond of the second (000..999) %N - Fractional seconds digits, default is 9 digits (nanosecond) %3N millisecond (3 digits) %6N microsecond (6 digits) %9N nanosecond (9 digits) %12N picosecond (12 digits) Time zone: %z - Time zone as hour and minute offset from UTC (e.g. +0900) %:z - hour and minute offset from UTC with a colon (e.g. +09:00) %::z - hour, minute and second offset from UTC (e.g. +09:00:00) %:::z - hour, minute and second offset from UTC (e.g. +09, +09:30, +09:30:30) %Z - Time zone abbreviation name Weekday: %A - The full weekday name (``Sunday'') %^A uppercased (``SUNDAY'') %a - The abbreviated name (``Sun'') %^a uppercased (``SUN'') %u - Day of the week (Monday is 1, 1..7) %w - Day of the week (Sunday is 0, 0..6) ISO 8601 week-based year and week number: The week 1 of YYYY starts with a Monday and includes YYYY-01-04. The days in the year before the first week are in the last week of the previous year. %G - The week-based year %g - The last 2 digits of the week-based year (00..99) %V - Week number of the week-based year (01..53) Week number: The week 1 of YYYY starts with a Sunday or Monday (according to %U or %W). The days in the year before the first week are in week 0. %U - Week number of the year. The week starts with Sunday. (00..53) %W - Week number of the year. The week starts with Monday. (00..53) Seconds since the Unix Epoch: %s - Number of seconds since 1970-01-01 00:00:00 UTC. %Q - Number of microseconds since 1970-01-01 00:00:00 UTC. Literal string: %n - Newline character (\n) %t - Tab character (\t) %% - Literal ``%'' character Combination: %c - date and time (%a %b %e %T %Y) %D - Date (%m/%d/%y) %F - The ISO 8601 date format (%Y-%m-%d) %v - VMS date (%e-%b-%Y) %x - Same as %D %X - Same as %T %r - 12-hour time (%I:%M:%S %p) %R - 24-hour time (%H:%M) %T - 24-hour time (%H:%M:%S) %+ - date(1) (%a %b %e %H:%M:%S %Z %Y) ```
json metadata{"tags":["rails"],"image":["https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png"],"links":["https://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/","http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/","http://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/","http://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error","http://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/","https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261","https://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences","http://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #28026013/Trx 830214abe4ff3b54d8680420faf6061fa74bfffd
View Raw JSON Data
{
  "trx_id": "830214abe4ff3b54d8680420faf6061fa74bfffd",
  "block": 28026013,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-26T02:33:12",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "rails",
      "author": "gists",
      "permlink": "rails",
      "title": "Ruby on Rails Reference",
      "body": "![](https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png)\n\n## Migrations\n\n### Rails-MySQL integer types\n\n    :limit       MySQL-Type   Col Size          Max int (signed)\n    1            TINYINT      1 byte                         127 (127)\n    2            SMALLINT     2 bytes                     32,767 (32k)\n    3            MEDIUMINT    3 bytes                  8,388,607 (8m)\n    nil, 4, 11   INT(11)      4 bytes              2,147,483,647 (2b)\n    5..8         BIGINT       8 bytes  9,223,372,036,854,775,807 (9bb)\n\nhttps://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/\n\n### Rails-MySQL text types\n\n    :limit (bytes)     MySQL-type   Rails-type\n        1..255         VARCHAR      :string\n        1..255         TINYTEXT     :text\n      256..65535       TEXT         :text\n    65536..16777215    MEDIUMTEXT   :text\n         ..4294967295  LONGTEXT     :text\n\nTo create a CHAR column:\n\n```\n    t.column :token, \"char(12)\"\n```\n\nTo have a custom id column:\n\n```\n    create_table :posts, :id => false do |t|\n      t.integer :id,         null: false, limit: 4, options: 'PRIMARY KEY' # <-- doesnt do anything\n    end\n``` \n\n### Undo\n\n    rake db:rollback STEP=1\n\n\n### Emoji and UTF-8\n\nhttp://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/\n\nhttp://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/\n\nhttp://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error\n\nhttp://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/\n\n### Innodb one file per table\n\nhttps://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261\n\n\n## UTF-8 handling\n\n```\n    body\n    .encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '')\n    .gsub(/joel/, name)\n```\n\nhttps://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences\n\n-------\n\nYou have middleware in your stack that is forcing this string to UTF-8, even when it is not valid UTF-8. The code that is doing this is bugged.\n\nObserve:\n\n```\n    s = \"a=\\xff\"\n    # => \"a=\\xFF\"\n    s.force_encoding(\"binary\")\n    # => \"a=\\xFF\"\n    s.valid_encoding?\n    # => true\n    Rack::Utils.parse_nested_query(s)\n    # => {\"a\"=>\"\\xFF\"}\n    s.force_encoding(\"utf-8\")\n    # => \"a=\\xFF\"\n    s.valid_encoding?\n    # => false\n    Rack::Utils.parse_nested_query(s)\n    ArgumentError: invalid byte sequence in UTF-8\n```\n\nhttp://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/\n\n\n## DateTime / strftime\n\n```\n    Date (Year, Month, Day):\n      %Y - Year with century (can be negative, 4 digits at least)\n              -0001, 0000, 1995, 2009, 14292, etc.\n      %C - year / 100 (round down.  20 in 2009)\n      %y - year % 100 (00..99)\n\n      %m - Month of the year, zero-padded (01..12)\n              %_m  blank-padded ( 1..12)\n              %-m  no-padded (1..12)\n      %B - The full month name (``January'')\n              %^B  uppercased (``JANUARY'')\n      %b - The abbreviated month name (``Jan'')\n              %^b  uppercased (``JAN'')\n      %h - Equivalent to %b\n\n      %d - Day of the month, zero-padded (01..31)\n              %-d  no-padded (1..31)\n      %e - Day of the month, blank-padded ( 1..31)\n\n      %j - Day of the year (001..366)\n\n    Time (Hour, Minute, Second, Subsecond):\n      %H - Hour of the day, 24-hour clock, zero-padded (00..23)\n      %k - Hour of the day, 24-hour clock, blank-padded ( 0..23)\n      %I - Hour of the day, 12-hour clock, zero-padded (01..12)\n      %l - Hour of the day, 12-hour clock, blank-padded ( 1..12)\n      %P - Meridian indicator, lowercase (``am'' or ``pm'')\n      %p - Meridian indicator, uppercase (``AM'' or ``PM'')\n\n      %M - Minute of the hour (00..59)\n\n      %S - Second of the minute (00..59)\n\n      %L - Millisecond of the second (000..999)\n      %N - Fractional seconds digits, default is 9 digits (nanosecond)\n              %3N  millisecond (3 digits)\n              %6N  microsecond (6 digits)\n              %9N  nanosecond (9 digits)\n              %12N picosecond (12 digits)\n\n    Time zone:\n      %z - Time zone as hour and minute offset from UTC (e.g. +0900)\n              %:z - hour and minute offset from UTC with a colon (e.g. +09:00)\n              %::z - hour, minute and second offset from UTC (e.g. +09:00:00)\n              %:::z - hour, minute and second offset from UTC\n                                                (e.g. +09, +09:30, +09:30:30)\n      %Z - Time zone abbreviation name\n\n    Weekday:\n      %A - The full weekday name (``Sunday'')\n              %^A  uppercased (``SUNDAY'')\n      %a - The abbreviated name (``Sun'')\n              %^a  uppercased (``SUN'')\n      %u - Day of the week (Monday is 1, 1..7)\n      %w - Day of the week (Sunday is 0, 0..6)\n\n    ISO 8601 week-based year and week number:\n    The week 1 of YYYY starts with a Monday and includes YYYY-01-04.\n    The days in the year before the first week are in the last week of\n    the previous year.\n      %G - The week-based year\n      %g - The last 2 digits of the week-based year (00..99)\n      %V - Week number of the week-based year (01..53)\n\n    Week number:\n    The week 1 of YYYY starts with a Sunday or Monday (according to %U\n    or %W).  The days in the year before the first week are in week 0.\n      %U - Week number of the year.  The week starts with Sunday.  (00..53)\n      %W - Week number of the year.  The week starts with Monday.  (00..53)\n\n    Seconds since the Unix Epoch:\n      %s - Number of seconds since 1970-01-01 00:00:00 UTC.\n      %Q - Number of microseconds since 1970-01-01 00:00:00 UTC.\n\n    Literal string:\n      %n - Newline character (\\n)\n      %t - Tab character (\\t)\n      %% - Literal ``%'' character\n\n    Combination:\n      %c - date and time (%a %b %e %T %Y)\n      %D - Date (%m/%d/%y)\n      %F - The ISO 8601 date format (%Y-%m-%d)\n      %v - VMS date (%e-%b-%Y)\n      %x - Same as %D\n      %X - Same as %T\n      %r - 12-hour time (%I:%M:%S %p)\n      %R - 24-hour time (%H:%M)\n      %T - 24-hour time (%H:%M:%S)\n      %+ - date(1) (%a %b %e %H:%M:%S %Z %Y)\n```",
      "json_metadata": "{\"tags\":[\"rails\"],\"image\":[\"https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png\"],\"links\":[\"https://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/\",\"http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/\",\"http://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/\",\"http://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error\",\"http://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/\",\"https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261\",\"https://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences\",\"http://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
daily.johnyupvoted (100.00%) @gists / rails
2018/11/25 22:43:00
voterdaily.johny
authorgists
permlinkrails
weight10000 (100.00%)
Transaction InfoBlock #28021410/Trx 73a714dce1e6014c8dd42be392a172b552545262
View Raw JSON Data
{
  "trx_id": "73a714dce1e6014c8dd42be392a172b552545262",
  "block": 28021410,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:43:00",
  "op": [
    "vote",
    {
      "voter": "daily.johny",
      "author": "gists",
      "permlink": "rails",
      "weight": 10000
    }
  ]
}
devsupupvoted (0.69%) @gists / postgres
2018/11/25 22:42:03
voterdevsup
authorgists
permlinkpostgres
weight69 (0.69%)
Transaction InfoBlock #28021391/Trx ca3377e3dea2f1c879a525e2faee6eebca84eed4
View Raw JSON Data
{
  "trx_id": "ca3377e3dea2f1c879a525e2faee6eebca84eed4",
  "block": 28021391,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:42:03",
  "op": [
    "vote",
    {
      "voter": "devsup",
      "author": "gists",
      "permlink": "postgres",
      "weight": 69
    }
  ]
}
cronupvoted (0.02%) @gists / rails
2018/11/25 22:34:30
votercron
authorgists
permlinkrails
weight2 (0.02%)
Transaction InfoBlock #28021240/Trx 7a09e8d2871363cc51db3626442a002681c61f6e
View Raw JSON Data
{
  "trx_id": "7a09e8d2871363cc51db3626442a002681c61f6e",
  "block": 28021240,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:34:30",
  "op": [
    "vote",
    {
      "voter": "cron",
      "author": "gists",
      "permlink": "rails",
      "weight": 2
    }
  ]
}
gistspublished a new post: rails
2018/11/25 22:34:24
parent author
parent permlinkrails
authorgists
permlinkrails
titleRails
body![](https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png) ## Migrations ### Rails-MySQL integer types :limit MySQL-Type Col Size Max int (signed) 1 TINYINT 1 byte 127 (127) 2 SMALLINT 2 bytes 32,767 (32k) 3 MEDIUMINT 3 bytes 8,388,607 (8m) nil, 4, 11 INT(11) 4 bytes 2,147,483,647 (2b) 5..8 BIGINT 8 bytes 9,223,372,036,854,775,807 (9bb) https://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/ ### Rails-MySQL text types :limit (bytes) MySQL-type Rails-type 1..255 VARCHAR :string 1..255 TINYTEXT :text 256..65535 TEXT :text 65536..16777215 MEDIUMTEXT :text ..4294967295 LONGTEXT :text To create a CHAR column: ``` t.column :token, "char(12)" ``` To have a custom id column: ``` create_table :posts, :id => false do |t| t.integer :id, null: false, limit: 4, options: 'PRIMARY KEY' # <-- doesnt do anything end ``` ### Undo rake db:rollback STEP=1 ### Emoji and UTF-8 http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/ http://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/ http://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error http://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/ ### Innodb one file per table https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261 ## UTF-8 handling ``` body .encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '') .gsub(/joel/, name) ``` https://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences ------- You have middleware in your stack that is forcing this string to UTF-8, even when it is not valid UTF-8. The code that is doing this is bugged. Observe: ``` s = "a=\xff" # => "a=\xFF" s.force_encoding("binary") # => "a=\xFF" s.valid_encoding? # => true Rack::Utils.parse_nested_query(s) # => {"a"=>"\xFF"} s.force_encoding("utf-8") # => "a=\xFF" s.valid_encoding? # => false Rack::Utils.parse_nested_query(s) ArgumentError: invalid byte sequence in UTF-8 ``` http://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/ ## DateTime / strftime ``` Date (Year, Month, Day): %Y - Year with century (can be negative, 4 digits at least) -0001, 0000, 1995, 2009, 14292, etc. %C - year / 100 (round down. 20 in 2009) %y - year % 100 (00..99) %m - Month of the year, zero-padded (01..12) %_m blank-padded ( 1..12) %-m no-padded (1..12) %B - The full month name (``January'') %^B uppercased (``JANUARY'') %b - The abbreviated month name (``Jan'') %^b uppercased (``JAN'') %h - Equivalent to %b %d - Day of the month, zero-padded (01..31) %-d no-padded (1..31) %e - Day of the month, blank-padded ( 1..31) %j - Day of the year (001..366) Time (Hour, Minute, Second, Subsecond): %H - Hour of the day, 24-hour clock, zero-padded (00..23) %k - Hour of the day, 24-hour clock, blank-padded ( 0..23) %I - Hour of the day, 12-hour clock, zero-padded (01..12) %l - Hour of the day, 12-hour clock, blank-padded ( 1..12) %P - Meridian indicator, lowercase (``am'' or ``pm'') %p - Meridian indicator, uppercase (``AM'' or ``PM'') %M - Minute of the hour (00..59) %S - Second of the minute (00..59) %L - Millisecond of the second (000..999) %N - Fractional seconds digits, default is 9 digits (nanosecond) %3N millisecond (3 digits) %6N microsecond (6 digits) %9N nanosecond (9 digits) %12N picosecond (12 digits) Time zone: %z - Time zone as hour and minute offset from UTC (e.g. +0900) %:z - hour and minute offset from UTC with a colon (e.g. +09:00) %::z - hour, minute and second offset from UTC (e.g. +09:00:00) %:::z - hour, minute and second offset from UTC (e.g. +09, +09:30, +09:30:30) %Z - Time zone abbreviation name Weekday: %A - The full weekday name (``Sunday'') %^A uppercased (``SUNDAY'') %a - The abbreviated name (``Sun'') %^a uppercased (``SUN'') %u - Day of the week (Monday is 1, 1..7) %w - Day of the week (Sunday is 0, 0..6) ISO 8601 week-based year and week number: The week 1 of YYYY starts with a Monday and includes YYYY-01-04. The days in the year before the first week are in the last week of the previous year. %G - The week-based year %g - The last 2 digits of the week-based year (00..99) %V - Week number of the week-based year (01..53) Week number: The week 1 of YYYY starts with a Sunday or Monday (according to %U or %W). The days in the year before the first week are in week 0. %U - Week number of the year. The week starts with Sunday. (00..53) %W - Week number of the year. The week starts with Monday. (00..53) Seconds since the Unix Epoch: %s - Number of seconds since 1970-01-01 00:00:00 UTC. %Q - Number of microseconds since 1970-01-01 00:00:00 UTC. Literal string: %n - Newline character (\n) %t - Tab character (\t) %% - Literal ``%'' character Combination: %c - date and time (%a %b %e %T %Y) %D - Date (%m/%d/%y) %F - The ISO 8601 date format (%Y-%m-%d) %v - VMS date (%e-%b-%Y) %x - Same as %D %X - Same as %T %r - 12-hour time (%I:%M:%S %p) %R - 24-hour time (%H:%M) %T - 24-hour time (%H:%M:%S) %+ - date(1) (%a %b %e %H:%M:%S %Z %Y) ```
json metadata{"tags":["rails"],"image":["https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png"],"links":["https://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/","http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/","http://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/","http://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error","http://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/","https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261","https://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences","http://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #28021238/Trx c2e5ea0582040d9a2efc838d0dd6ebf29a7f69be
View Raw JSON Data
{
  "trx_id": "c2e5ea0582040d9a2efc838d0dd6ebf29a7f69be",
  "block": 28021238,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:34:24",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "rails",
      "author": "gists",
      "permlink": "rails",
      "title": "Rails",
      "body": "![](https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png)\n\n## Migrations\n\n### Rails-MySQL integer types\n\n    :limit       MySQL-Type   Col Size          Max int (signed)\n    1            TINYINT      1 byte                         127 (127)\n    2            SMALLINT     2 bytes                     32,767 (32k)\n    3            MEDIUMINT    3 bytes                  8,388,607 (8m)\n    nil, 4, 11   INT(11)      4 bytes              2,147,483,647 (2b)\n    5..8         BIGINT       8 bytes  9,223,372,036,854,775,807 (9bb)\n\nhttps://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/\n\n### Rails-MySQL text types\n\n    :limit (bytes)     MySQL-type   Rails-type\n        1..255         VARCHAR      :string\n        1..255         TINYTEXT     :text\n      256..65535       TEXT         :text\n    65536..16777215    MEDIUMTEXT   :text\n         ..4294967295  LONGTEXT     :text\n\nTo create a CHAR column:\n\n```\n    t.column :token, \"char(12)\"\n```\n\nTo have a custom id column:\n\n```\n    create_table :posts, :id => false do |t|\n      t.integer :id,         null: false, limit: 4, options: 'PRIMARY KEY' # <-- doesnt do anything\n    end\n``` \n\n### Undo\n\n    rake db:rollback STEP=1\n\n\n### Emoji and UTF-8\n\nhttp://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/\n\nhttp://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/\n\nhttp://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error\n\nhttp://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/\n\n### Innodb one file per table\n\nhttps://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261\n\n\n## UTF-8 handling\n\n```\n    body\n    .encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '')\n    .gsub(/joel/, name)\n```\n\nhttps://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences\n\n-------\n\nYou have middleware in your stack that is forcing this string to UTF-8, even when it is not valid UTF-8. The code that is doing this is bugged.\n\nObserve:\n\n```\n    s = \"a=\\xff\"\n    # => \"a=\\xFF\"\n    s.force_encoding(\"binary\")\n    # => \"a=\\xFF\"\n    s.valid_encoding?\n    # => true\n    Rack::Utils.parse_nested_query(s)\n    # => {\"a\"=>\"\\xFF\"}\n    s.force_encoding(\"utf-8\")\n    # => \"a=\\xFF\"\n    s.valid_encoding?\n    # => false\n    Rack::Utils.parse_nested_query(s)\n    ArgumentError: invalid byte sequence in UTF-8\n```\n\nhttp://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/\n\n\n## DateTime / strftime\n\n```\n    Date (Year, Month, Day):\n      %Y - Year with century (can be negative, 4 digits at least)\n              -0001, 0000, 1995, 2009, 14292, etc.\n      %C - year / 100 (round down.  20 in 2009)\n      %y - year % 100 (00..99)\n\n      %m - Month of the year, zero-padded (01..12)\n              %_m  blank-padded ( 1..12)\n              %-m  no-padded (1..12)\n      %B - The full month name (``January'')\n              %^B  uppercased (``JANUARY'')\n      %b - The abbreviated month name (``Jan'')\n              %^b  uppercased (``JAN'')\n      %h - Equivalent to %b\n\n      %d - Day of the month, zero-padded (01..31)\n              %-d  no-padded (1..31)\n      %e - Day of the month, blank-padded ( 1..31)\n\n      %j - Day of the year (001..366)\n\n    Time (Hour, Minute, Second, Subsecond):\n      %H - Hour of the day, 24-hour clock, zero-padded (00..23)\n      %k - Hour of the day, 24-hour clock, blank-padded ( 0..23)\n      %I - Hour of the day, 12-hour clock, zero-padded (01..12)\n      %l - Hour of the day, 12-hour clock, blank-padded ( 1..12)\n      %P - Meridian indicator, lowercase (``am'' or ``pm'')\n      %p - Meridian indicator, uppercase (``AM'' or ``PM'')\n\n      %M - Minute of the hour (00..59)\n\n      %S - Second of the minute (00..59)\n\n      %L - Millisecond of the second (000..999)\n      %N - Fractional seconds digits, default is 9 digits (nanosecond)\n              %3N  millisecond (3 digits)\n              %6N  microsecond (6 digits)\n              %9N  nanosecond (9 digits)\n              %12N picosecond (12 digits)\n\n    Time zone:\n      %z - Time zone as hour and minute offset from UTC (e.g. +0900)\n              %:z - hour and minute offset from UTC with a colon (e.g. +09:00)\n              %::z - hour, minute and second offset from UTC (e.g. +09:00:00)\n              %:::z - hour, minute and second offset from UTC\n                                                (e.g. +09, +09:30, +09:30:30)\n      %Z - Time zone abbreviation name\n\n    Weekday:\n      %A - The full weekday name (``Sunday'')\n              %^A  uppercased (``SUNDAY'')\n      %a - The abbreviated name (``Sun'')\n              %^a  uppercased (``SUN'')\n      %u - Day of the week (Monday is 1, 1..7)\n      %w - Day of the week (Sunday is 0, 0..6)\n\n    ISO 8601 week-based year and week number:\n    The week 1 of YYYY starts with a Monday and includes YYYY-01-04.\n    The days in the year before the first week are in the last week of\n    the previous year.\n      %G - The week-based year\n      %g - The last 2 digits of the week-based year (00..99)\n      %V - Week number of the week-based year (01..53)\n\n    Week number:\n    The week 1 of YYYY starts with a Sunday or Monday (according to %U\n    or %W).  The days in the year before the first week are in week 0.\n      %U - Week number of the year.  The week starts with Sunday.  (00..53)\n      %W - Week number of the year.  The week starts with Monday.  (00..53)\n\n    Seconds since the Unix Epoch:\n      %s - Number of seconds since 1970-01-01 00:00:00 UTC.\n      %Q - Number of microseconds since 1970-01-01 00:00:00 UTC.\n\n    Literal string:\n      %n - Newline character (\\n)\n      %t - Tab character (\\t)\n      %% - Literal ``%'' character\n\n    Combination:\n      %c - date and time (%a %b %e %T %Y)\n      %D - Date (%m/%d/%y)\n      %F - The ISO 8601 date format (%Y-%m-%d)\n      %v - VMS date (%e-%b-%Y)\n      %x - Same as %D\n      %X - Same as %T\n      %r - 12-hour time (%I:%M:%S %p)\n      %R - 24-hour time (%H:%M)\n      %T - 24-hour time (%H:%M:%S)\n      %+ - date(1) (%a %b %e %H:%M:%S %Z %Y)\n```",
      "json_metadata": "{\"tags\":[\"rails\"],\"image\":[\"https://cdn.wccftech.com/wp-content/uploads/2017/04/Ruby-on-Rails.png\"],\"links\":[\"https://ariejan.net/2009/08/20/once-and-for-all-rails-migrations-integer-limit-option/\",\"http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/\",\"http://tech.taskrabbit.com/blog/2014/04/24/active-record-mysql-and-emoji/\",\"http://jasonseifer.com/2014/06/20/rails-4-mysql-and-emoji-mysql2error-incorrect-string-value-error\",\"http://metova.com/dev/blog/2015/05/01/add-emoji-support-rails-4-mysql-5-5/\",\"https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261\",\"https://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences\",\"http://dev.mensfeld.pl/2014/03/rack-argument-error-invalid-byte-sequence-in-utf-8/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
gistspublished a new post: mysql
2018/11/25 22:27:27
parent author
parent permlinkmysql
authorgists
permlinkmysql
titleMySQL Reference
body![](https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg) ## Field types #### Integer Types (Exact Value) ``` Type Bytes Min Max Max (unsigned) ----------------------------------------------------------------------------- TINYINT 1 -128 127 255 SMALLINT 2 -32768 32767 65535 MEDIUMINT 3 -8388608 8388607 16777215 INT 4 -2147483648 2147483647 4294967295 BIGINT 8 -9223372036854775808 9223372036854775807 18446744073709551615 ``` --- #### String Types ``` Type Max length ------------------------------------------------- TINYTEXT 255 (2^8−1) bytes TEXT 65,535 (2^16−1) bytes = 64 KiB MEDIUMTEXT 16,777,215 (2^24−1) bytes = 16 MiB LONGTEXT 4,294,967,295 (2^32−1) bytes = 4 GiB ``` ---- [Storage requirements detail](https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html) ## Queries #### Check Table Disk Usage ``` SELECT table_schema AS "Database", table_name AS "Table", round(data_length / 1024 / 1024, 2) AS "Data MB", round(index_length / 1024 / 1024, 2) AS "Index MB", round((data_length + index_length) / 1024 / 1024, 2) AS "Total MB" FROM information_schema.tables ORDER BY (data_length + index_length) DESC; ``` ## Resources #### [Opinionated SQL formatter](https://sqlfum.pt/)
json metadata{"tags":["mysql"],"image":["https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg"],"links":["https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html","https://sqlfum.pt/"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #28021099/Trx 28cd8ec198a1e33caee0a44fd8910aacce24cacd
View Raw JSON Data
{
  "trx_id": "28cd8ec198a1e33caee0a44fd8910aacce24cacd",
  "block": 28021099,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:27:27",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "mysql",
      "author": "gists",
      "permlink": "mysql",
      "title": "MySQL Reference",
      "body": "![](https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg)\n\n## Field types\n\n#### Integer Types (Exact Value)\n\n```\nType       Bytes               Min                  Max        Max (unsigned)\n-----------------------------------------------------------------------------\nTINYINT    1                  -128                  127                   255\nSMALLINT   2                -32768                32767                 65535\nMEDIUMINT  3              -8388608              8388607              16777215\nINT        4           -2147483648           2147483647            4294967295\nBIGINT     8  -9223372036854775808  9223372036854775807  18446744073709551615\n```\n\n---\n\n#### String Types\n\n```\n      Type                 Max length\n-------------------------------------------------\n  TINYTEXT            255  (2^8−1) bytes\n      TEXT         65,535 (2^16−1) bytes = 64 KiB\nMEDIUMTEXT     16,777,215 (2^24−1) bytes = 16 MiB\n  LONGTEXT  4,294,967,295 (2^32−1) bytes =  4 GiB\n```\n\n----\n\n[Storage requirements detail](https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html)\n\n## Queries\n\n#### Check Table Disk Usage\n\n```\n  SELECT table_schema AS \"Database\",\n         table_name AS \"Table\",\n         round(data_length / 1024 / 1024, 2) AS \"Data MB\",\n         round(index_length / 1024 / 1024, 2) AS \"Index MB\",\n         round((data_length + index_length) / 1024 / 1024, 2) AS \"Total MB\"\n    FROM information_schema.tables\nORDER BY (data_length + index_length) DESC;\n```\n\n\n## Resources\n\n#### [Opinionated SQL formatter](https://sqlfum.pt/)",
      "json_metadata": "{\"tags\":[\"mysql\"],\"image\":[\"https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg\"],\"links\":[\"https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html\",\"https://sqlfum.pt/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/11/25 22:27:18
parent authorgists
parent permlinkpostgres
authorcheetah
permlinkcheetah-re-gistspostgres
title
bodyHi! I am a robot. I just upvoted you! I found similar content that readers might be interested in: https://dba.stackexchange.com/questions/21068/aggressive-autovacuum-on-postgresql
json metadata
Transaction InfoBlock #28021096/Trx f728b963d7cdf490301e581eca85a2f7660e8a39
View Raw JSON Data
{
  "trx_id": "f728b963d7cdf490301e581eca85a2f7660e8a39",
  "block": 28021096,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:27:18",
  "op": [
    "comment",
    {
      "parent_author": "gists",
      "parent_permlink": "postgres",
      "author": "cheetah",
      "permlink": "cheetah-re-gistspostgres",
      "title": "",
      "body": "Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:\nhttps://dba.stackexchange.com/questions/21068/aggressive-autovacuum-on-postgresql",
      "json_metadata": ""
    }
  ]
}
gistspublished a new post: postgres
2018/11/25 22:27:15
parent author
parent permlinkpostgres
authorgists
permlinkpostgres
titlePostgres Reference
body![](https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png) ## Queries #### Size statistics by table ``` WITH table_data AS ( SELECT c.oid, nspname AS table_schema, relname AS table_name, c.reltuples::BIGINT AS rows, pg_total_relation_size(c.oid) AS total_bytes, pg_indexes_size(c.oid) AS index_bytes, pg_total_relation_size(reltoastrelid) AS toast_bytes, pg_total_relation_size(c.oid) - pg_indexes_size(c.oid) - COALESCE(pg_total_relation_size( reltoastrelid), 0) AS table_bytes FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE relkind = 'r' ) SELECT table_name, rows, pg_size_pretty(total_bytes) AS total_size, pg_size_pretty(index_bytes) AS index_size, pg_size_pretty(toast_bytes) AS toast_size, pg_size_pretty(table_bytes) AS table_size, pg_size_pretty(total_bytes / rows) AS total_per_row, pg_size_pretty(index_bytes / rows) AS index_per_row, pg_size_pretty(table_bytes / rows) AS table_per_row FROM table_data WHERE table_schema = 'public' AND rows > 0 ORDER BY total_bytes DESC; ``` #### Size statistics by index ``` SELECT t.tablename, indexname, c.reltuples AS num_rows, pg_size_pretty(pg_relation_size(quote_ident(t.tablename)::text)) AS table_size, pg_size_pretty(pg_relation_size(quote_ident(indexrelname)::text)) AS index_size, CASE WHEN indisunique THEN 'Y' ELSE 'N' END AS UNIQUE, idx_scan AS number_of_scans, idx_tup_read AS tuples_read, idx_tup_fetch AS tuples_fetched FROM pg_tables t LEFT OUTER JOIN pg_class c ON t.tablename=c.relname LEFT OUTER JOIN ( SELECT c.relname AS ctablename, ipg.relname AS indexname, x.indnatts AS number_of_columns, idx_scan, idx_tup_read, idx_tup_fetch, indexrelname, indisunique FROM pg_index x JOIN pg_class c ON c.oid = x.indrelid JOIN pg_class ipg ON ipg.oid = x.indexrelid JOIN pg_stat_all_indexes psai ON x.indexrelid = psai.indexrelid ) AS foo ON t.tablename = foo.ctablename WHERE t.schemaname='public' ORDER BY pg_relation_size(quote_ident(indexrelname)::text) desc; ``` #### Index stats ``` select * from pg_stat_user_indexes order by indexrelname; ``` Note that it is possible to examine the number of index scans (including index-only scans and bitmap index scans) by examining pg_stat_user_indexes.idx_scan. If your covering index isn't being used, you're essentially paying for the overhead of maintaining it during writes with no benefit in return. Drop the index! https://wiki.postgresql.org/wiki/Index-only_scans #### Check last autovac times, stats, expected upcoming adapted from https://dba.stackexchange.com/a/147121 - takes into account specific table settings ``` WITH rel_set AS ( SELECT oid, coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_vacuum_threshold=', 2), ',', 1), ''), current_setting('autovacuum_vacuum_threshold'))::BIGINT AS rel_av_vac_threshold, coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_vacuum_scale_factor=', 2), ',', 1), ''), current_setting('autovacuum_vacuum_scale_factor'))::NUMERIC AS rel_av_vac_scale_factor FROM pg_class ) SELECT PSUT.relname, RS.rel_av_vac_scale_factor AS sf, to_char(PSUT.last_vacuum, 'YYYY-MM-DD HH24:MI') AS last_vacuum, to_char(PSUT.last_autovacuum, 'YYYY-MM-DD HH24:MI') AS last_autovacuum, to_char(C.reltuples, '9G999G999G999') AS n_tup, to_char(PSUT.n_dead_tup, '9G999G999G999') AS dead_tup, to_char(RS.rel_av_vac_threshold + RS.rel_av_vac_scale_factor * C.reltuples, '9G999G999G999') AS av_threshold, CASE WHEN (RS.rel_av_vac_threshold + RS.rel_av_vac_scale_factor * C.reltuples) < PSUT.n_dead_tup THEN '*' ELSE '' END AS expect_av, to_char(PSUT.last_analyze, 'YYYY-MM-DD HH24:MI') AS last_analyze, to_char(PSUT.last_autoanalyze, 'YYYY-MM-DD HH24:MI') AS last_autoanalyze, vacuum_count, autovacuum_count, analyze_count, autoanalyze_count FROM pg_stat_user_tables PSUT JOIN pg_class C ON PSUT.relid = C.oid JOIN rel_set RS ON PSUT.relid = RS.oid ORDER BY C.reltuples DESC; ``` ``` select relname, idx_scan, idx_tup_fetch, n_tup_ins, n_tup_upd, n_tup_del, n_tup_hot_upd, n_live_tup, n_dead_tup, n_mod_since_analyze, last_vacuum, last_autovacuum, last_analyze, last_autoanalyze, vacuum_count, autovacuum_count, analyze_count, autoanalyze_count from pg_stat_user_tables; ``` ## Resources ### [Postgres temp table quick update method](https://stackoverflow.com/a/24811058) ### [Query Performance and Autovacuuming for Large Tables](http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables) `ALTER TABLE table_name SET autovacuum_vacuum_scale_factor = 0.02;` ### [Fast batch update using COPY](http://tapoueh.org/blog/2013/03/batch-update/) ### [Char/Date formatting functions](https://www.postgresql.org/docs/9.1/static/functions-formatting.html)
json metadata{"tags":["postgres"],"image":["https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png"],"links":["https://wiki.postgresql.org/wiki/Index-only_scans","https://dba.stackexchange.com/a/147121","https://stackoverflow.com/a/24811058","http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables","http://tapoueh.org/blog/2013/03/batch-update/","https://www.postgresql.org/docs/9.1/static/functions-formatting.html"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #28021095/Trx 622d4af96a583368e0db99452602adebd9e13e3f
View Raw JSON Data
{
  "trx_id": "622d4af96a583368e0db99452602adebd9e13e3f",
  "block": 28021095,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:27:15",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "postgres",
      "author": "gists",
      "permlink": "postgres",
      "title": "Postgres Reference",
      "body": "![](https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png)\n\n## Queries\n\n#### Size statistics by table\n\n```\nWITH table_data AS (\n    SELECT c.oid,\n           nspname                               AS table_schema,\n           relname                               AS table_name,\n           c.reltuples::BIGINT                   AS rows,\n           pg_total_relation_size(c.oid)         AS total_bytes,\n           pg_indexes_size(c.oid)                AS index_bytes,\n           pg_total_relation_size(reltoastrelid) AS toast_bytes,\n           pg_total_relation_size(c.oid)\n            - pg_indexes_size(c.oid)\n            - COALESCE(pg_total_relation_size(\n                reltoastrelid), 0)               AS table_bytes\n      FROM pg_class c\n LEFT JOIN pg_namespace n\n        ON n.oid = c.relnamespace\n     WHERE relkind = 'r'\n)\n    SELECT table_name,\n           rows,\n           pg_size_pretty(total_bytes)        AS total_size,\n           pg_size_pretty(index_bytes)        AS index_size,\n           pg_size_pretty(toast_bytes)        AS toast_size,\n           pg_size_pretty(table_bytes)        AS table_size,\n           pg_size_pretty(total_bytes / rows) AS total_per_row,\n           pg_size_pretty(index_bytes / rows) AS index_per_row,\n           pg_size_pretty(table_bytes / rows) AS table_per_row\n      FROM table_data\n     WHERE table_schema = 'public' AND rows > 0\n  ORDER BY total_bytes DESC;\n```\n\n\n#### Size statistics by index\n\n```\nSELECT\n    t.tablename,\n    indexname,\n    c.reltuples AS num_rows,\n    pg_size_pretty(pg_relation_size(quote_ident(t.tablename)::text)) AS table_size,\n    pg_size_pretty(pg_relation_size(quote_ident(indexrelname)::text)) AS index_size,\n    CASE WHEN indisunique THEN 'Y'\n       ELSE 'N'\n    END AS UNIQUE,\n    idx_scan AS number_of_scans,\n    idx_tup_read AS tuples_read,\n    idx_tup_fetch AS tuples_fetched\nFROM pg_tables t\nLEFT OUTER JOIN pg_class c ON t.tablename=c.relname\nLEFT OUTER JOIN\n    ( SELECT c.relname AS ctablename, ipg.relname AS indexname, x.indnatts AS number_of_columns, idx_scan, idx_tup_read, idx_tup_fetch, indexrelname, indisunique FROM pg_index x\n           JOIN pg_class c ON c.oid = x.indrelid\n           JOIN pg_class ipg ON ipg.oid = x.indexrelid\n           JOIN pg_stat_all_indexes psai ON x.indexrelid = psai.indexrelid )\n    AS foo\n    ON t.tablename = foo.ctablename\nWHERE t.schemaname='public'\nORDER BY pg_relation_size(quote_ident(indexrelname)::text) desc;\n```\n\n\n#### Index stats\n\n```\nselect * from pg_stat_user_indexes order by indexrelname;\n```\n\nNote that it is possible to examine the number of index scans (including index-only scans and bitmap index scans) by examining pg_stat_user_indexes.idx_scan. If your covering index isn't being used, you're essentially paying for the overhead of maintaining it during writes with no benefit in return. Drop the index!\nhttps://wiki.postgresql.org/wiki/Index-only_scans\n\n\n\n\n\n\n\n#### Check last autovac times, stats, expected upcoming\n\nadapted from https://dba.stackexchange.com/a/147121 - takes into account specific table settings\n\n```\nWITH rel_set AS (\n  SELECT oid,\n         coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_vacuum_threshold=', 2), ',', 1), ''), \n                  current_setting('autovacuum_vacuum_threshold'))::BIGINT AS rel_av_vac_threshold,\n         coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_vacuum_scale_factor=', 2), ',', 1), ''), \n                  current_setting('autovacuum_vacuum_scale_factor'))::NUMERIC AS rel_av_vac_scale_factor\n    FROM pg_class\n) \n  SELECT PSUT.relname,\n\t\t RS.rel_av_vac_scale_factor AS sf,\n         to_char(PSUT.last_vacuum, 'YYYY-MM-DD HH24:MI')     AS last_vacuum,\n         to_char(PSUT.last_autovacuum, 'YYYY-MM-DD HH24:MI') AS last_autovacuum,\n         to_char(C.reltuples, '9G999G999G999')               AS n_tup,\n         to_char(PSUT.n_dead_tup, '9G999G999G999')           AS dead_tup,\n         to_char(RS.rel_av_vac_threshold + RS.rel_av_vac_scale_factor * C.reltuples, '9G999G999G999') AS av_threshold,\n         CASE WHEN (RS.rel_av_vac_threshold + RS.rel_av_vac_scale_factor * C.reltuples) < PSUT.n_dead_tup THEN '*' ELSE '' END AS expect_av,\n         to_char(PSUT.last_analyze, 'YYYY-MM-DD HH24:MI')     AS last_analyze,\n         to_char(PSUT.last_autoanalyze, 'YYYY-MM-DD HH24:MI') AS last_autoanalyze,\n         vacuum_count, autovacuum_count, analyze_count, autoanalyze_count \n    FROM pg_stat_user_tables PSUT\n    JOIN pg_class C ON PSUT.relid = C.oid\n    JOIN rel_set RS ON PSUT.relid = RS.oid\nORDER BY C.reltuples DESC;\n```\n\n```\nselect relname, idx_scan, idx_tup_fetch, n_tup_ins, n_tup_upd, n_tup_del, n_tup_hot_upd, n_live_tup, n_dead_tup, n_mod_since_analyze, last_vacuum, last_autovacuum, last_analyze, last_autoanalyze, vacuum_count, autovacuum_count, analyze_count, autoanalyze_count from pg_stat_user_tables;\n```\n\n## Resources\n\n### [Postgres temp table quick update method](https://stackoverflow.com/a/24811058)\n\n### [Query Performance and Autovacuuming for Large Tables](http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables)\n\n`ALTER TABLE table_name SET autovacuum_vacuum_scale_factor = 0.02;`\n\n### [Fast batch update using COPY](http://tapoueh.org/blog/2013/03/batch-update/)\n\n### [Char/Date formatting functions](https://www.postgresql.org/docs/9.1/static/functions-formatting.html)",
      "json_metadata": "{\"tags\":[\"postgres\"],\"image\":[\"https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png\"],\"links\":[\"https://wiki.postgresql.org/wiki/Index-only_scans\",\"https://dba.stackexchange.com/a/147121\",\"https://stackoverflow.com/a/24811058\",\"http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables\",\"http://tapoueh.org/blog/2013/03/batch-update/\",\"https://www.postgresql.org/docs/9.1/static/functions-formatting.html\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
cheetahupvoted (0.08%) @gists / postgres
2018/11/25 22:27:12
votercheetah
authorgists
permlinkpostgres
weight8 (0.08%)
Transaction InfoBlock #28021094/Trx afb42d630723c7e8b53b0de9bb84425e796b8730
View Raw JSON Data
{
  "trx_id": "afb42d630723c7e8b53b0de9bb84425e796b8730",
  "block": 28021094,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:27:12",
  "op": [
    "vote",
    {
      "voter": "cheetah",
      "author": "gists",
      "permlink": "postgres",
      "weight": 8
    }
  ]
}
gistspublished a new post: postgres
2018/11/25 22:27:03
parent author
parent permlinkpostgres
authorgists
permlinkpostgres
titlePostgres
body![](https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png) ## Queries #### Size statistics by table ``` WITH table_data AS ( SELECT c.oid, nspname AS table_schema, relname AS table_name, c.reltuples::BIGINT AS rows, pg_total_relation_size(c.oid) AS total_bytes, pg_indexes_size(c.oid) AS index_bytes, pg_total_relation_size(reltoastrelid) AS toast_bytes, pg_total_relation_size(c.oid) - pg_indexes_size(c.oid) - COALESCE(pg_total_relation_size( reltoastrelid), 0) AS table_bytes FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE relkind = 'r' ) SELECT table_name, rows, pg_size_pretty(total_bytes) AS total_size, pg_size_pretty(index_bytes) AS index_size, pg_size_pretty(toast_bytes) AS toast_size, pg_size_pretty(table_bytes) AS table_size, pg_size_pretty(total_bytes / rows) AS total_per_row, pg_size_pretty(index_bytes / rows) AS index_per_row, pg_size_pretty(table_bytes / rows) AS table_per_row FROM table_data WHERE table_schema = 'public' AND rows > 0 ORDER BY total_bytes DESC; ``` #### Size statistics by index ``` SELECT t.tablename, indexname, c.reltuples AS num_rows, pg_size_pretty(pg_relation_size(quote_ident(t.tablename)::text)) AS table_size, pg_size_pretty(pg_relation_size(quote_ident(indexrelname)::text)) AS index_size, CASE WHEN indisunique THEN 'Y' ELSE 'N' END AS UNIQUE, idx_scan AS number_of_scans, idx_tup_read AS tuples_read, idx_tup_fetch AS tuples_fetched FROM pg_tables t LEFT OUTER JOIN pg_class c ON t.tablename=c.relname LEFT OUTER JOIN ( SELECT c.relname AS ctablename, ipg.relname AS indexname, x.indnatts AS number_of_columns, idx_scan, idx_tup_read, idx_tup_fetch, indexrelname, indisunique FROM pg_index x JOIN pg_class c ON c.oid = x.indrelid JOIN pg_class ipg ON ipg.oid = x.indexrelid JOIN pg_stat_all_indexes psai ON x.indexrelid = psai.indexrelid ) AS foo ON t.tablename = foo.ctablename WHERE t.schemaname='public' ORDER BY pg_relation_size(quote_ident(indexrelname)::text) desc; ``` #### Index stats ``` select * from pg_stat_user_indexes order by indexrelname; ``` Note that it is possible to examine the number of index scans (including index-only scans and bitmap index scans) by examining pg_stat_user_indexes.idx_scan. If your covering index isn't being used, you're essentially paying for the overhead of maintaining it during writes with no benefit in return. Drop the index! https://wiki.postgresql.org/wiki/Index-only_scans #### Check last autovac times, stats, expected upcoming adapted from https://dba.stackexchange.com/a/147121 - takes into account specific table settings ``` WITH rel_set AS ( SELECT oid, coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_vacuum_threshold=', 2), ',', 1), ''), current_setting('autovacuum_vacuum_threshold'))::BIGINT AS rel_av_vac_threshold, coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_vacuum_scale_factor=', 2), ',', 1), ''), current_setting('autovacuum_vacuum_scale_factor'))::NUMERIC AS rel_av_vac_scale_factor FROM pg_class ) SELECT PSUT.relname, RS.rel_av_vac_scale_factor AS sf, to_char(PSUT.last_vacuum, 'YYYY-MM-DD HH24:MI') AS last_vacuum, to_char(PSUT.last_autovacuum, 'YYYY-MM-DD HH24:MI') AS last_autovacuum, to_char(C.reltuples, '9G999G999G999') AS n_tup, to_char(PSUT.n_dead_tup, '9G999G999G999') AS dead_tup, to_char(RS.rel_av_vac_threshold + RS.rel_av_vac_scale_factor * C.reltuples, '9G999G999G999') AS av_threshold, CASE WHEN (RS.rel_av_vac_threshold + RS.rel_av_vac_scale_factor * C.reltuples) < PSUT.n_dead_tup THEN '*' ELSE '' END AS expect_av, to_char(PSUT.last_analyze, 'YYYY-MM-DD HH24:MI') AS last_analyze, to_char(PSUT.last_autoanalyze, 'YYYY-MM-DD HH24:MI') AS last_autoanalyze, vacuum_count, autovacuum_count, analyze_count, autoanalyze_count FROM pg_stat_user_tables PSUT JOIN pg_class C ON PSUT.relid = C.oid JOIN rel_set RS ON PSUT.relid = RS.oid ORDER BY C.reltuples DESC; ``` ``` select relname, idx_scan, idx_tup_fetch, n_tup_ins, n_tup_upd, n_tup_del, n_tup_hot_upd, n_live_tup, n_dead_tup, n_mod_since_analyze, last_vacuum, last_autovacuum, last_analyze, last_autoanalyze, vacuum_count, autovacuum_count, analyze_count, autoanalyze_count from pg_stat_user_tables; ``` ## Resources ### [Postgres temp table quick update method](https://stackoverflow.com/a/24811058) ### [Query Performance and Autovacuuming for Large Tables](http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables) `ALTER TABLE table_name SET autovacuum_vacuum_scale_factor = 0.02;` ### [Fast batch update using COPY](http://tapoueh.org/blog/2013/03/batch-update/) ### [Char/Date formatting functions](https://www.postgresql.org/docs/9.1/static/functions-formatting.html)
json metadata{"tags":["postgres"],"image":["https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png"],"links":["https://wiki.postgresql.org/wiki/Index-only_scans","https://dba.stackexchange.com/a/147121","https://stackoverflow.com/a/24811058","http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables","http://tapoueh.org/blog/2013/03/batch-update/","https://www.postgresql.org/docs/9.1/static/functions-formatting.html"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #28021091/Trx 9ae33fbb35dff6e58c754b1fdf1d4fc9391525b3
View Raw JSON Data
{
  "trx_id": "9ae33fbb35dff6e58c754b1fdf1d4fc9391525b3",
  "block": 28021091,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:27:03",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "postgres",
      "author": "gists",
      "permlink": "postgres",
      "title": "Postgres",
      "body": "![](https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png)\n\n## Queries\n\n#### Size statistics by table\n\n```\nWITH table_data AS (\n    SELECT c.oid,\n           nspname                               AS table_schema,\n           relname                               AS table_name,\n           c.reltuples::BIGINT                   AS rows,\n           pg_total_relation_size(c.oid)         AS total_bytes,\n           pg_indexes_size(c.oid)                AS index_bytes,\n           pg_total_relation_size(reltoastrelid) AS toast_bytes,\n           pg_total_relation_size(c.oid)\n            - pg_indexes_size(c.oid)\n            - COALESCE(pg_total_relation_size(\n                reltoastrelid), 0)               AS table_bytes\n      FROM pg_class c\n LEFT JOIN pg_namespace n\n        ON n.oid = c.relnamespace\n     WHERE relkind = 'r'\n)\n    SELECT table_name,\n           rows,\n           pg_size_pretty(total_bytes)        AS total_size,\n           pg_size_pretty(index_bytes)        AS index_size,\n           pg_size_pretty(toast_bytes)        AS toast_size,\n           pg_size_pretty(table_bytes)        AS table_size,\n           pg_size_pretty(total_bytes / rows) AS total_per_row,\n           pg_size_pretty(index_bytes / rows) AS index_per_row,\n           pg_size_pretty(table_bytes / rows) AS table_per_row\n      FROM table_data\n     WHERE table_schema = 'public' AND rows > 0\n  ORDER BY total_bytes DESC;\n```\n\n\n#### Size statistics by index\n\n```\nSELECT\n    t.tablename,\n    indexname,\n    c.reltuples AS num_rows,\n    pg_size_pretty(pg_relation_size(quote_ident(t.tablename)::text)) AS table_size,\n    pg_size_pretty(pg_relation_size(quote_ident(indexrelname)::text)) AS index_size,\n    CASE WHEN indisunique THEN 'Y'\n       ELSE 'N'\n    END AS UNIQUE,\n    idx_scan AS number_of_scans,\n    idx_tup_read AS tuples_read,\n    idx_tup_fetch AS tuples_fetched\nFROM pg_tables t\nLEFT OUTER JOIN pg_class c ON t.tablename=c.relname\nLEFT OUTER JOIN\n    ( SELECT c.relname AS ctablename, ipg.relname AS indexname, x.indnatts AS number_of_columns, idx_scan, idx_tup_read, idx_tup_fetch, indexrelname, indisunique FROM pg_index x\n           JOIN pg_class c ON c.oid = x.indrelid\n           JOIN pg_class ipg ON ipg.oid = x.indexrelid\n           JOIN pg_stat_all_indexes psai ON x.indexrelid = psai.indexrelid )\n    AS foo\n    ON t.tablename = foo.ctablename\nWHERE t.schemaname='public'\nORDER BY pg_relation_size(quote_ident(indexrelname)::text) desc;\n```\n\n\n#### Index stats\n\n```\nselect * from pg_stat_user_indexes order by indexrelname;\n```\n\nNote that it is possible to examine the number of index scans (including index-only scans and bitmap index scans) by examining pg_stat_user_indexes.idx_scan. If your covering index isn't being used, you're essentially paying for the overhead of maintaining it during writes with no benefit in return. Drop the index!\nhttps://wiki.postgresql.org/wiki/Index-only_scans\n\n\n\n\n\n\n\n#### Check last autovac times, stats, expected upcoming\n\nadapted from https://dba.stackexchange.com/a/147121 - takes into account specific table settings\n\n```\nWITH rel_set AS (\n  SELECT oid,\n         coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_vacuum_threshold=', 2), ',', 1), ''), \n                  current_setting('autovacuum_vacuum_threshold'))::BIGINT AS rel_av_vac_threshold,\n         coalesce(nullif(split_part(split_part(array_to_string(reloptions, ','), 'autovacuum_vacuum_scale_factor=', 2), ',', 1), ''), \n                  current_setting('autovacuum_vacuum_scale_factor'))::NUMERIC AS rel_av_vac_scale_factor\n    FROM pg_class\n) \n  SELECT PSUT.relname,\n\t\t RS.rel_av_vac_scale_factor AS sf,\n         to_char(PSUT.last_vacuum, 'YYYY-MM-DD HH24:MI')     AS last_vacuum,\n         to_char(PSUT.last_autovacuum, 'YYYY-MM-DD HH24:MI') AS last_autovacuum,\n         to_char(C.reltuples, '9G999G999G999')               AS n_tup,\n         to_char(PSUT.n_dead_tup, '9G999G999G999')           AS dead_tup,\n         to_char(RS.rel_av_vac_threshold + RS.rel_av_vac_scale_factor * C.reltuples, '9G999G999G999') AS av_threshold,\n         CASE WHEN (RS.rel_av_vac_threshold + RS.rel_av_vac_scale_factor * C.reltuples) < PSUT.n_dead_tup THEN '*' ELSE '' END AS expect_av,\n         to_char(PSUT.last_analyze, 'YYYY-MM-DD HH24:MI')     AS last_analyze,\n         to_char(PSUT.last_autoanalyze, 'YYYY-MM-DD HH24:MI') AS last_autoanalyze,\n         vacuum_count, autovacuum_count, analyze_count, autoanalyze_count \n    FROM pg_stat_user_tables PSUT\n    JOIN pg_class C ON PSUT.relid = C.oid\n    JOIN rel_set RS ON PSUT.relid = RS.oid\nORDER BY C.reltuples DESC;\n```\n\n```\nselect relname, idx_scan, idx_tup_fetch, n_tup_ins, n_tup_upd, n_tup_del, n_tup_hot_upd, n_live_tup, n_dead_tup, n_mod_since_analyze, last_vacuum, last_autovacuum, last_analyze, last_autoanalyze, vacuum_count, autovacuum_count, analyze_count, autoanalyze_count from pg_stat_user_tables;\n```\n\n## Resources\n\n### [Postgres temp table quick update method](https://stackoverflow.com/a/24811058)\n\n### [Query Performance and Autovacuuming for Large Tables](http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables)\n\n`ALTER TABLE table_name SET autovacuum_vacuum_scale_factor = 0.02;`\n\n### [Fast batch update using COPY](http://tapoueh.org/blog/2013/03/batch-update/)\n\n### [Char/Date formatting functions](https://www.postgresql.org/docs/9.1/static/functions-formatting.html)",
      "json_metadata": "{\"tags\":[\"postgres\"],\"image\":[\"https://www.vectorlogo.zone/logos/postgresql/postgresql-card.png\"],\"links\":[\"https://wiki.postgresql.org/wiki/Index-only_scans\",\"https://dba.stackexchange.com/a/147121\",\"https://stackoverflow.com/a/24811058\",\"http://www.contactually.com/blog/postgres-at-scale-query-performance-and-autovacuuming-for-large-tables\",\"http://tapoueh.org/blog/2013/03/batch-update/\",\"https://www.postgresql.org/docs/9.1/static/functions-formatting.html\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
gistspublished a new post: mysql
2018/11/25 22:20:36
parent author
parent permlinkmysql
authorgists
permlinkmysql
titleMySQL
body![](https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg) ## Field types #### Integer Types (Exact Value) ``` Type Bytes Min Max Max (unsigned) ----------------------------------------------------------------------------- TINYINT 1 -128 127 255 SMALLINT 2 -32768 32767 65535 MEDIUMINT 3 -8388608 8388607 16777215 INT 4 -2147483648 2147483647 4294967295 BIGINT 8 -9223372036854775808 9223372036854775807 18446744073709551615 ``` --- #### String Types ``` Type Max length ------------------------------------------------- TINYTEXT 255 (2^8−1) bytes TEXT 65,535 (2^16−1) bytes = 64 KiB MEDIUMTEXT 16,777,215 (2^24−1) bytes = 16 MiB LONGTEXT 4,294,967,295 (2^32−1) bytes = 4 GiB ``` ---- [Storage requirements detail](https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html) ## Queries #### Check Table Disk Usage ``` SELECT table_schema AS "Database", table_name AS "Table", round(data_length / 1024 / 1024, 2) AS "Data MB", round(index_length / 1024 / 1024, 2) AS "Index MB", round((data_length + index_length) / 1024 / 1024, 2) AS "Total MB" FROM information_schema.tables ORDER BY (data_length + index_length) DESC; ``` ## Resources #### [Opinionated SQL formatter](https://sqlfum.pt/)
json metadata{"tags":["mysql"],"image":["https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg"],"links":["https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html","https://sqlfum.pt/"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #28020962/Trx a2fa59f14f5daf79bf212a82779a7b31da51bcf6
View Raw JSON Data
{
  "trx_id": "a2fa59f14f5daf79bf212a82779a7b31da51bcf6",
  "block": 28020962,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:20:36",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "mysql",
      "author": "gists",
      "permlink": "mysql",
      "title": "MySQL",
      "body": "![](https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg)\n\n## Field types\n\n#### Integer Types (Exact Value)\n\n```\nType       Bytes               Min                  Max        Max (unsigned)\n-----------------------------------------------------------------------------\nTINYINT    1                  -128                  127                   255\nSMALLINT   2                -32768                32767                 65535\nMEDIUMINT  3              -8388608              8388607              16777215\nINT        4           -2147483648           2147483647            4294967295\nBIGINT     8  -9223372036854775808  9223372036854775807  18446744073709551615\n```\n\n---\n\n#### String Types\n\n```\n      Type                 Max length\n-------------------------------------------------\n  TINYTEXT            255  (2^8−1) bytes\n      TEXT         65,535 (2^16−1) bytes = 64 KiB\nMEDIUMTEXT     16,777,215 (2^24−1) bytes = 16 MiB\n  LONGTEXT  4,294,967,295 (2^32−1) bytes =  4 GiB\n```\n\n----\n\n[Storage requirements detail](https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html)\n\n## Queries\n\n#### Check Table Disk Usage\n\n```\n  SELECT table_schema AS \"Database\",\n         table_name AS \"Table\",\n         round(data_length / 1024 / 1024, 2) AS \"Data MB\",\n         round(index_length / 1024 / 1024, 2) AS \"Index MB\",\n         round((data_length + index_length) / 1024 / 1024, 2) AS \"Total MB\"\n    FROM information_schema.tables\nORDER BY (data_length + index_length) DESC;\n```\n\n\n## Resources\n\n#### [Opinionated SQL formatter](https://sqlfum.pt/)",
      "json_metadata": "{\"tags\":[\"mysql\"],\"image\":[\"https://d3gqyjopw66mip.cloudfront.net/wp-content/uploads/2013/09/mysql-logo-resized.jpg\"],\"links\":[\"https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html\",\"https://sqlfum.pt/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
gistspowered up 24.000 STEEM to @gists
2018/11/25 22:20:24
fromgists
togists
amount24.000 STEEM
Transaction InfoBlock #28020958/Trx 34a967369efaedb6b700bbfff2206d377e891771
View Raw JSON Data
{
  "trx_id": "34a967369efaedb6b700bbfff2206d377e891771",
  "block": 28020958,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:20:24",
  "op": [
    "transfer_to_vesting",
    {
      "from": "gists",
      "to": "gists",
      "amount": "24.000 STEEM"
    }
  ]
}
bittrexsent 24.000 STEEM to @gists
2018/11/25 22:19:54
frombittrex
togists
amount24.000 STEEM
memo
Transaction InfoBlock #28020948/Trx c3a15c3e092c3531c465f81b061b95500863af5e
View Raw JSON Data
{
  "trx_id": "c3a15c3e092c3531c465f81b061b95500863af5e",
  "block": 28020948,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:19:54",
  "op": [
    "transfer",
    {
      "from": "bittrex",
      "to": "gists",
      "amount": "24.000 STEEM",
      "memo": ""
    }
  ]
}
gistspublished a new post: sublime-text
2018/11/25 22:12:24
parent author
parent permlinksublime-text
authorgists
permlinksublime-text
titleSublime Text Configuration
body@@ -1,12 +1,90 @@ +!%5B%5D(https://css-tricks.com/wp-content/uploads/2018/05/sublime-text-logo.jpg)%0A%0A ### Disable
json metadata{"tags":["sublime-text"],"app":"steemit/0.1","format":"markdown","image":["https://css-tricks.com/wp-content/uploads/2018/05/sublime-text-logo.jpg"]}
Transaction InfoBlock #28020798/Trx d5963f68dd1b27e479a432510914ca01f798ecb3
View Raw JSON Data
{
  "trx_id": "d5963f68dd1b27e479a432510914ca01f798ecb3",
  "block": 28020798,
  "trx_in_block": 27,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:12:24",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "sublime-text",
      "author": "gists",
      "permlink": "sublime-text",
      "title": "Sublime Text Configuration",
      "body": "@@ -1,12 +1,90 @@\n+!%5B%5D(https://css-tricks.com/wp-content/uploads/2018/05/sublime-text-logo.jpg)%0A%0A\n ### Disable \n",
      "json_metadata": "{\"tags\":[\"sublime-text\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://css-tricks.com/wp-content/uploads/2018/05/sublime-text-logo.jpg\"]}"
    }
  ]
}
gistspublished a new post: ubuntu-swap
2018/11/25 22:11:54
parent author
parent permlinkubuntu
authorgists
permlinkubuntu-swap
titleUbuntu Swap
body@@ -1,12 +1,74 @@ +!%5B%5D(https://assets.ubuntu.com/v1/8dd99b80-ubuntu-logo14.png)%0A%0A #### Check c
json metadata{"tags":["ubuntu"],"links":["https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04"],"app":"steemit/0.1","format":"markdown","image":["https://assets.ubuntu.com/v1/8dd99b80-ubuntu-logo14.png"]}
Transaction InfoBlock #28020788/Trx db4be036dae7072131ad42500dd54c1975eca593
View Raw JSON Data
{
  "trx_id": "db4be036dae7072131ad42500dd54c1975eca593",
  "block": 28020788,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:11:54",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "ubuntu",
      "author": "gists",
      "permlink": "ubuntu-swap",
      "title": "Ubuntu Swap",
      "body": "@@ -1,12 +1,74 @@\n+!%5B%5D(https://assets.ubuntu.com/v1/8dd99b80-ubuntu-logo14.png)%0A%0A\n #### Check c\n",
      "json_metadata": "{\"tags\":[\"ubuntu\"],\"links\":[\"https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://assets.ubuntu.com/v1/8dd99b80-ubuntu-logo14.png\"]}"
    }
  ]
}
allazsent 0.001 SBD to @gists- "Promote your post. Your post will be min. 10 resteemed with over 13000 followers and min. 25 Upvote Different account (5000 STEEM POWER). Your post will be more popular and you will find new frien..."
2018/11/25 22:07:24
fromallaz
togists
amount0.001 SBD
memoPromote your post. Your post will be min. 10 resteemed with over 13000 followers and min. 25 Upvote Different account (5000 STEEM POWER). Your post will be more popular and you will find new friends. Send 0.5 SBD or STEEM to @allaz (post URL as memo ) Service Active.
Transaction InfoBlock #28020698/Trx 0568634c1fd649eabe3d3ffdb297a5b09f7103b0
View Raw JSON Data
{
  "trx_id": "0568634c1fd649eabe3d3ffdb297a5b09f7103b0",
  "block": 28020698,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:07:24",
  "op": [
    "transfer",
    {
      "from": "allaz",
      "to": "gists",
      "amount": "0.001 SBD",
      "memo": "Promote your post. Your post will be min. 10  resteemed with over 13000  followers and min. 25  Upvote Different account (5000  STEEM POWER). Your post will be more popular and you will find new friends. Send 0.5 SBD or STEEM to @allaz (post URL as memo ) Service Active."
    }
  ]
}
gistspublished a new post: sublime-text
2018/11/25 22:06:54
parent author
parent permlinksublime-text
authorgists
permlinksublime-text
titleSublime Text
body### Disable minimum tab width ``` "enable_tab_scrolling": false, ``` ### Ignore `Icon` files in tree list ``` "file_exclude_patterns": ["*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj","*.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*.pdb", "*.idb", ".DS_Store", "*.class", "*.psd", "*.db", "*.sublime-workspace", "Icon?"] ```
json metadata{"tags":["sublime-text"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #28020688/Trx abe7b789eaad1f2228173a1738a8005d95083e5e
View Raw JSON Data
{
  "trx_id": "abe7b789eaad1f2228173a1738a8005d95083e5e",
  "block": 28020688,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T22:06:54",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "sublime-text",
      "author": "gists",
      "permlink": "sublime-text",
      "title": "Sublime Text",
      "body": "### Disable minimum tab width\n\n```\n\t\"enable_tab_scrolling\": false,\n```\n\n### Ignore `Icon` files in tree list\n\n```\n    \"file_exclude_patterns\": [\"*.pyc\", \"*.pyo\", \"*.exe\", \"*.dll\", \"*.obj\",\"*.o\", \"*.a\", \"*.lib\", \"*.so\", \"*.dylib\", \"*.ncb\", \"*.sdf\", \"*.suo\", \"*.pdb\", \"*.idb\", \".DS_Store\", \"*.class\", \"*.psd\", \"*.db\", \"*.sublime-workspace\", \"Icon?\"]\n```",
      "json_metadata": "{\"tags\":[\"sublime-text\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
gistsdeleted a comment or post
2018/11/25 21:56:06
authorgists
permlinksublime-text-configuration
Transaction InfoBlock #28020472/Trx b0b1ef1a24e28cf41629197e076133de17cbf53c
View Raw JSON Data
{
  "trx_id": "b0b1ef1a24e28cf41629197e076133de17cbf53c",
  "block": 28020472,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T21:56:06",
  "op": [
    "delete_comment",
    {
      "author": "gists",
      "permlink": "sublime-text-configuration"
    }
  ]
}
gistspublished a new post: sublime-text-configuration
2018/11/25 21:55:51
parent author
parent permlinksublime-text
authorgists
permlinksublime-text-configuration
titleSublime Text Configuration
body### Disable minimum tab width ``` "enable_tab_scrolling": false, ``` ### Ignore `Icon` files in tree list ``` "file_exclude_patterns": ["*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj","*.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*.pdb", "*.idb", ".DS_Store", "*.class", "*.psd", "*.db", "*.sublime-workspace", "Icon?"] ```
json metadata{"tags":["sublime-text"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #28020467/Trx aa5687a983fef5e9c03bb05d9842f909c5d0ec5f
View Raw JSON Data
{
  "trx_id": "aa5687a983fef5e9c03bb05d9842f909c5d0ec5f",
  "block": 28020467,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T21:55:51",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "sublime-text",
      "author": "gists",
      "permlink": "sublime-text-configuration",
      "title": "Sublime Text Configuration",
      "body": "### Disable minimum tab width\n\n```\n\t\"enable_tab_scrolling\": false,\n```\n\n### Ignore `Icon` files in tree list\n\n```\n    \"file_exclude_patterns\": [\"*.pyc\", \"*.pyo\", \"*.exe\", \"*.dll\", \"*.obj\",\"*.o\", \"*.a\", \"*.lib\", \"*.so\", \"*.dylib\", \"*.ncb\", \"*.sdf\", \"*.suo\", \"*.pdb\", \"*.idb\", \".DS_Store\", \"*.class\", \"*.psd\", \"*.db\", \"*.sublime-workspace\", \"Icon?\"]\n```",
      "json_metadata": "{\"tags\":[\"sublime-text\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
devsupupvoted (0.69%) @gists / ubuntu-swap
2018/11/24 03:58:30
voterdevsup
authorgists
permlinkubuntu-swap
weight69 (0.69%)
Transaction InfoBlock #27970163/Trx 205824acf83ca494eb564c791575c92478f5f6d5
View Raw JSON Data
{
  "trx_id": "205824acf83ca494eb564c791575c92478f5f6d5",
  "block": 27970163,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-24T03:58:30",
  "op": [
    "vote",
    {
      "voter": "devsup",
      "author": "gists",
      "permlink": "ubuntu-swap",
      "weight": 69
    }
  ]
}
gistspublished a new post: ubuntu-swap
2018/11/24 03:43:30
parent author
parent permlinkubuntu
authorgists
permlinkubuntu-swap
titleUbuntu Swap
body#### Check configured swap: ``` sudo swapon --show NAME TYPE SIZE USED PRIO /swap-128 file 128G 127.9G -2 /dev/md0 partition 32G 32G -1 ``` #### Create a swap file: ``` sudo fallocate -l 64G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab ``` ---- Resources 1. https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04
json metadata{"tags":["ubuntu"],"links":["https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #27969863/Trx be0a9ed0b087dfe32e952586b9667f1802064f5f
View Raw JSON Data
{
  "trx_id": "be0a9ed0b087dfe32e952586b9667f1802064f5f",
  "block": 27969863,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-24T03:43:30",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "ubuntu",
      "author": "gists",
      "permlink": "ubuntu-swap",
      "title": "Ubuntu Swap",
      "body": "#### Check configured swap:\n\n```\nsudo swapon --show\n\nNAME                   TYPE      SIZE   USED PRIO\n/swap-128              file      128G 127.9G   -2\n/dev/md0               partition  32G    32G   -1\n```\n\n#### Create a swap file:\n\n```\nsudo fallocate -l 64G /swapfile\nsudo chmod 600 /swapfile\nsudo mkswap /swapfile\nsudo swapon /swapfile\necho '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab\n```\n\n----\n\nResources\n\n1. https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04",
      "json_metadata": "{\"tags\":[\"ubuntu\"],\"links\":[\"https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
gistspowered up 1.000 STEEM to @gists
2018/11/16 21:53:09
fromgists
togists
amount1.000 STEEM
Transaction InfoBlock #27761338/Trx da4c721a89947a164f4b0c347cbcbb30d8ac50f6
View Raw JSON Data
{
  "trx_id": "da4c721a89947a164f4b0c347cbcbb30d8ac50f6",
  "block": 27761338,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-16T21:53:09",
  "op": [
    "transfer_to_vesting",
    {
      "from": "gists",
      "to": "gists",
      "amount": "1.000 STEEM"
    }
  ]
}
blocktradessent 1.000 STEEM to @gists
2018/11/16 21:27:12
fromblocktrades
togists
amount1.000 STEEM
memo
Transaction InfoBlock #27760819/Trx ce9f3eae0133f9c9ed81efc98aff72ac00c6152b
View Raw JSON Data
{
  "trx_id": "ce9f3eae0133f9c9ed81efc98aff72ac00c6152b",
  "block": 27760819,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-16T21:27:12",
  "op": [
    "transfer",
    {
      "from": "blocktrades",
      "to": "gists",
      "amount": "1.000 STEEM",
      "memo": ""
    }
  ]
}
blocktradescreated a new account: @gists
2018/11/16 21:27:12
creatorblocktrades
new account namegists
owner{"weight_threshold":1,"account_auths":[],"key_auths":[["STM6tDMHxT38ao3wyHcJaKhsLoB8rXVvZVqGtkZfph6wZ685sVTzU",1]]}
active{"weight_threshold":1,"account_auths":[],"key_auths":[["STM58y3WKrhWj83eDQv8HXe14LcyLPvaehVAcy4PbxALbffdyK8eE",1]]}
posting{"weight_threshold":1,"account_auths":[],"key_auths":[["STM57zecpuUzpdu9EAoyiREArcBrP6jpTkvjHYW8dghs8rz3KDKS9",1]]}
memo keySTM7jarXDShzaMzuTbNdwwLQaXhF8jtYDUD5Qw7P3LHhwsAzjLSGg
json metadata{}
extensions[]
Transaction InfoBlock #27760819/Trx ce9f3eae0133f9c9ed81efc98aff72ac00c6152b
View Raw JSON Data
{
  "trx_id": "ce9f3eae0133f9c9ed81efc98aff72ac00c6152b",
  "block": 27760819,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-16T21:27:12",
  "op": [
    "create_claimed_account",
    {
      "creator": "blocktrades",
      "new_account_name": "gists",
      "owner": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM6tDMHxT38ao3wyHcJaKhsLoB8rXVvZVqGtkZfph6wZ685sVTzU",
            1
          ]
        ]
      },
      "active": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM58y3WKrhWj83eDQv8HXe14LcyLPvaehVAcy4PbxALbffdyK8eE",
            1
          ]
        ]
      },
      "posting": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM57zecpuUzpdu9EAoyiREArcBrP6jpTkvjHYW8dghs8rz3KDKS9",
            1
          ]
        ]
      },
      "memo_key": "STM7jarXDShzaMzuTbNdwwLQaXhF8jtYDUD5Qw7P3LHhwsAzjLSGg",
      "json_metadata": "{}",
      "extensions": []
    }
  ]
}

Account Metadata

POSTING JSON METADATA
None
JSON METADATA
None
{
  "posting_json_metadata": {},
  "json_metadata": {}
}

Auth Keys

Owner
Single Signature
Public Keys
STM6tDMHxT38ao3wyHcJaKhsLoB8rXVvZVqGtkZfph6wZ685sVTzU1/1
Active
Single Signature
Public Keys
STM58y3WKrhWj83eDQv8HXe14LcyLPvaehVAcy4PbxALbffdyK8eE1/1
Posting
Single Signature
Public Keys
STM57zecpuUzpdu9EAoyiREArcBrP6jpTkvjHYW8dghs8rz3KDKS91/1
App Permissions
Memo
STM7jarXDShzaMzuTbNdwwLQaXhF8jtYDUD5Qw7P3LHhwsAzjLSGg
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6tDMHxT38ao3wyHcJaKhsLoB8rXVvZVqGtkZfph6wZ685sVTzU",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM58y3WKrhWj83eDQv8HXe14LcyLPvaehVAcy4PbxALbffdyK8eE",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [
      [
        "steempeak.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM57zecpuUzpdu9EAoyiREArcBrP6jpTkvjHYW8dghs8rz3KDKS9",
        1
      ]
    ]
  },
  "memo": "STM7jarXDShzaMzuTbNdwwLQaXhF8jtYDUD5Qw7P3LHhwsAzjLSGg"
}

Witness Votes

0 / 30
No active witness votes.
[]