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 | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 30.922SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 0.000SP | SP |
| Effective Power | 30.922SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.001SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"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
| name | gists |
| id | 1172122 |
| rank | 60,915 |
| reputation | 237674326 |
| created | 2018-11-16T21:27:12 |
| recovery_account | blocktrades |
| proxy | None |
| post_count | 6 |
| comment_count | 0 |
| lifetime_vote_count | 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 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 9,413 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.001 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 50352.727831 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 0.000000 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2018-12-18T01:24:42 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-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
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2019/11/16 23:07:09
2019/11/16 23:07:09
| parent author | gists |
| parent permlink | rails |
| author | steemitboard |
| permlink | steemitboard-notify-gists-20191116t230708000z |
| title | |
| body | Congratulations @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 Info | Block #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\"]}"
}
]
}2019/07/23 17:34:18
2019/07/23 17:34:18
| parent author | |
| parent permlink | postgres |
| author | gists |
| permlink | postgres |
| title | Postgres 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 Info | Block #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\"]}"
}
]
}2019/03/27 18:44:24
2019/03/27 18:44:24
| parent author | |
| parent permlink | mysql |
| author | gists |
| permlink | mysql |
| title | MySQL 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 Info | Block #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\"}"
}
]
}2018/12/19 01:00:18
2018/12/19 01:00:18
| parent author | |
| parent permlink | postgres |
| author | gists |
| permlink | postgres |
| title | Postgres 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 Info | Block #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\"}"
}
]
}2018/12/18 01:26:24
2018/12/18 01:26:24
| parent author | |
| parent permlink | postgres |
| author | gists |
| permlink | postgres |
| title | Postgres 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 Info | Block #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 properties2018/12/18 01:24:42
gistsupdated their account properties
2018/12/18 01:24:42
| account | gists |
| posting | {"weight_threshold":1,"account_auths":[["steempeak.app",1]],"key_auths":[["STM57zecpuUzpdu9EAoyiREArcBrP6jpTkvjHYW8dghs8rz3KDKS9",1]]} |
| memo key | STM7jarXDShzaMzuTbNdwwLQaXhF8jtYDUD5Qw7P3LHhwsAzjLSGg |
| json metadata | {} |
| Transaction Info | Block #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": "{}"
}
]
}gistsremoved vote from (0.00%) @finteh / alfa-test-bitshares-wallet-12-032018/12/06 00:56:24
gistsremoved vote from (0.00%) @finteh / alfa-test-bitshares-wallet-12-03
2018/12/06 00:56:24
| voter | gists |
| author | finteh |
| permlink | alfa-test-bitshares-wallet-12-03 |
| weight | 0 (0.00%) |
| Transaction Info | Block #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
}
]
}gistsupvoted (100.00%) @finteh / alfa-test-bitshares-wallet-12-032018/12/06 00:56:21
gistsupvoted (100.00%) @finteh / alfa-test-bitshares-wallet-12-03
2018/12/06 00:56:21
| voter | gists |
| author | finteh |
| permlink | alfa-test-bitshares-wallet-12-03 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
2018/12/06 00:55:36
| voter | gists |
| author | cardboard |
| permlink | re-roadscape-re-cardboard-re-crokkon-re-cardboard-re-steemitdev-upcoming-changes-to-api-steemit-com-20181204t121943023z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
2018/12/06 00:55:33
| voter | gists |
| author | cardboard |
| permlink | re-roadscape-re-cardboard-re-crokkon-re-cardboard-re-steemitdev-upcoming-changes-to-api-steemit-com-20181205t030439103z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}
]
}2018/12/03 06:04:45
2018/12/03 06:04:45
| parent author | |
| parent permlink | mysql |
| author | gists |
| permlink | mysql |
| title | MySQL 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 Info | Block #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 / rails2018/11/30 19:28:36
hackerzizonupvoted (1.00%) @gists / rails
2018/11/30 19:28:36
| voter | hackerzizon |
| author | gists |
| permlink | rails |
| weight | 100 (1.00%) |
| Transaction Info | Block #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
}
]
}2018/11/30 19:27:09
2018/11/30 19:27:09
| parent author | |
| parent permlink | rails |
| author | gists |
| permlink | rails |
| title | Ruby 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 Info | Block #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\"}"
}
]
}2018/11/30 19:26:48
2018/11/30 19:26:48
| parent author | |
| parent permlink | rails |
| author | gists |
| permlink | rails |
| title | Ruby 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 Info | Block #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 / rails2018/11/30 08:00:27
aadeshere1upvoted (100.00%) @gists / rails
2018/11/30 08:00:27
| voter | aadeshere1 |
| author | gists |
| permlink | rails |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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 / rails2018/11/26 02:34:03
thetroublenotesupvoted (2.00%) @gists / rails
2018/11/26 02:34:03
| voter | thetroublenotes |
| author | gists |
| permlink | rails |
| weight | 200 (2.00%) |
| Transaction Info | Block #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 / rails2018/11/26 02:33:42
slickhustler007upvoted (5.00%) @gists / rails
2018/11/26 02:33:42
| voter | slickhustler007 |
| author | gists |
| permlink | rails |
| weight | 500 (5.00%) |
| Transaction Info | Block #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
}
]
}2018/11/26 02:33:12
2018/11/26 02:33:12
| parent author | |
| parent permlink | rails |
| author | gists |
| permlink | rails |
| title | Ruby on Rails Reference |
| body |  ## 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 Info | Block #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": "\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 / rails2018/11/25 22:43:00
daily.johnyupvoted (100.00%) @gists / rails
2018/11/25 22:43:00
| voter | daily.johny |
| author | gists |
| permlink | rails |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}
]
}2018/11/25 22:42:03
2018/11/25 22:42:03
| voter | devsup |
| author | gists |
| permlink | postgres |
| weight | 69 (0.69%) |
| Transaction Info | Block #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
}
]
}2018/11/25 22:34:30
2018/11/25 22:34:30
| voter | cron |
| author | gists |
| permlink | rails |
| weight | 2 (0.02%) |
| Transaction Info | Block #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
}
]
}2018/11/25 22:34:24
2018/11/25 22:34:24
| parent author | |
| parent permlink | rails |
| author | gists |
| permlink | rails |
| title | Rails |
| body |  ## 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 Info | Block #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": "\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\"}"
}
]
}2018/11/25 22:27:27
2018/11/25 22:27:27
| parent author | |
| parent permlink | mysql |
| author | gists |
| permlink | mysql |
| title | MySQL Reference |
| body |  ## 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 Info | Block #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": "\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\"}"
}
]
}cheetahreplied to @gists / cheetah-re-gistspostgres2018/11/25 22:27:18
cheetahreplied to @gists / cheetah-re-gistspostgres
2018/11/25 22:27:18
| 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: https://dba.stackexchange.com/questions/21068/aggressive-autovacuum-on-postgresql |
| json metadata | |
| Transaction Info | Block #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": ""
}
]
}2018/11/25 22:27:15
2018/11/25 22:27:15
| parent author | |
| parent permlink | postgres |
| author | gists |
| permlink | postgres |
| title | Postgres Reference |
| body |  ## 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 Info | Block #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": "\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\"}"
}
]
}2018/11/25 22:27:12
2018/11/25 22:27:12
| voter | cheetah |
| author | gists |
| permlink | postgres |
| weight | 8 (0.08%) |
| Transaction Info | Block #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
}
]
}2018/11/25 22:27:03
2018/11/25 22:27:03
| parent author | |
| parent permlink | postgres |
| author | gists |
| permlink | postgres |
| title | Postgres |
| body |  ## 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 Info | Block #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": "\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\"}"
}
]
}2018/11/25 22:20:36
2018/11/25 22:20:36
| parent author | |
| parent permlink | mysql |
| author | gists |
| permlink | mysql |
| title | MySQL |
| body |  ## 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 Info | Block #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": "\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:20:24
2018/11/25 22:20:24
| from | gists |
| to | gists |
| amount | 24.000 STEEM |
| Transaction Info | Block #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"
}
]
}2018/11/25 22:19:54
2018/11/25 22:19:54
| from | bittrex |
| to | gists |
| amount | 24.000 STEEM |
| memo | |
| Transaction Info | Block #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-text2018/11/25 22:12:24
gistspublished a new post: sublime-text
2018/11/25 22:12:24
| parent author | |
| parent permlink | sublime-text |
| author | gists |
| permlink | sublime-text |
| title | Sublime 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 Info | Block #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-swap2018/11/25 22:11:54
gistspublished a new post: ubuntu-swap
2018/11/25 22:11:54
| parent author | |
| parent permlink | ubuntu |
| author | gists |
| permlink | ubuntu-swap |
| title | Ubuntu 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 Info | Block #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\"]}"
}
]
}2018/11/25 22:07:24
2018/11/25 22:07:24
| 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. |
| Transaction Info | Block #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-text2018/11/25 22:06:54
gistspublished a new post: sublime-text
2018/11/25 22:06:54
| parent author | |
| parent permlink | sublime-text |
| author | gists |
| permlink | sublime-text |
| title | Sublime 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 Info | Block #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 post2018/11/25 21:56:06
gistsdeleted a comment or post
2018/11/25 21:56:06
| author | gists |
| permlink | sublime-text-configuration |
| Transaction Info | Block #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-configuration2018/11/25 21:55:51
gistspublished a new post: sublime-text-configuration
2018/11/25 21:55:51
| parent author | |
| parent permlink | sublime-text |
| author | gists |
| permlink | sublime-text-configuration |
| title | Sublime 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 Info | Block #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-swap2018/11/24 03:58:30
devsupupvoted (0.69%) @gists / ubuntu-swap
2018/11/24 03:58:30
| voter | devsup |
| author | gists |
| permlink | ubuntu-swap |
| weight | 69 (0.69%) |
| Transaction Info | Block #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-swap2018/11/24 03:43:30
gistspublished a new post: ubuntu-swap
2018/11/24 03:43:30
| parent author | |
| parent permlink | ubuntu |
| author | gists |
| permlink | ubuntu-swap |
| title | Ubuntu 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 Info | Block #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\"}"
}
]
}2018/11/16 21:53:09
2018/11/16 21:53:09
| from | gists |
| to | gists |
| amount | 1.000 STEEM |
| Transaction Info | Block #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 @gists2018/11/16 21:27:12
blocktradessent 1.000 STEEM to @gists
2018/11/16 21:27:12
| from | blocktrades |
| to | gists |
| amount | 1.000 STEEM |
| memo | |
| Transaction Info | Block #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: @gists2018/11/16 21:27:12
blocktradescreated a new account: @gists
2018/11/16 21:27:12
| 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 | [] |
| Transaction Info | Block #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": []
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": "47397410280",
"last_update_time": 1544057784
},
"downvote_manabar": {
"current_mana": 0,
"last_update_time": 1542403632
},
"rc_account": {
"account": "gists",
"rc_manabar": {
"current_mana": "54538742116",
"last_update_time": 1563903258
},
"max_rc_creation_adjustment": {
"amount": "6045231536",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "56397959367"
}
}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.
[]