Category : Technology


aka Setting up DBeaver for use with Redshift. Step by step  Setting up DBeaver for use with Redshift is not the most intuitive thing you’ll ever do. A common misconception is that since Redshift is (sorta) built on Postgres, then a Postgres driver is the correct choice. Alas, nope. Here is a quick how-to for setting up DBeaver correctly as possible for Redshift. Here’s the standard DBeaver opening screen Right-click on your Redshift connection and choose “Edit Connection (F4)” That will present you with ..

Read more


Windows doesn’t display your PC’s serial number anywhere in its interface, and neither do popular system information tools. But you can often find a PC’s serial number with a simple command, a peek in your BIOS, or on the hardware itself. Run the WMIC Command Open a Command Prompt window to get started. On Windows 10 or 8, ..

Read more


The authors argue that the basic length of both generations and turnings—about twenty years—derives from longstanding socially and biologically determined phases of life.[who?] This is the reason it has remained relatively constant over centuries.[80] Some have argued that rapid increases in technology in recent decades are shortening the length of a generation.[81] According to Strauss ..

Read more


This requires that metadata lock instrumentation be enabled. UPDATE performance_schema.setup_instruments SET ENABLED = ‘YES’ WHERE NAME = ‘wait/lock/metadata/sql/mdl’; Once that’s in place, you can do this: SELECT   ml.object_schema,   ml.object_name,   p.id,   p.user,   p.state,   ml.lock_type,   ml.lock_duration,   ml.lock_status,   p.time,   LEFT(p.info, 100) FROM   performance_schema.metadata_locks ml   JOIN performance_schema.threads ..

Read more


This is a step-by-step tutorial to install Python and Jupyter Notebook to Windows 10 (64 bit). Python 3.3 or greater, or Python 2.7 is required to install the Jupyter Notebook. Download Python 3.7.4 from “https://www.python.org/downloads/release/python-374/” url 2. Choose and select “x86–64 executable installer” for Windows 10–64 bit computer 3. Select location to save the executable ..

Read more


How to Install Kubernetes on CentOS 7 (Step by Step) Introduction Small virtual environments, called containers, have become indispensable for developing and managing applications. Working on applications within an isolated container does not affect the host operating system. Containers are more efficient than virtual machines as they do not need their operating system. Kubernetes is ..

Read more


Here is the standard mysqldump syntax I always use.  This dumps routines and triggers, does so in the most expeditious manner possible, and adds DROP xxxxx statements before all CREATE statements, just in case.  It also adds the FORCE parameter in case it runs into issues with views. The “xxxx” at the end can be ..

Read more


MySQL 8.x not only requires that the datadir be empty when initializing, but also the directory designated as the temp directory.  If the temp directory is not empty, the –initialize flag will not throw an error as it does if the datadir isn’t clean; rather, it will cause a “Data Dictionary initialization failed” message on ..

Read more


Clone Wars – Open source clones of popular sites 100+ open-source clones or alternatives of popular sites like Airbnb, Amazon, Instagram, Netflix, Tiktok, Spotify, Trello, Whatsapp, Youtube, etc. List contains source code, demo links, tech stack, and, GitHub stars count. Great for learning purpose! From https://gourav.io/clone-wars List of 100+ open-source clones Clone Demo Repo Tech ..

Read more


FFmpeg is a free and open-source collection of tools for handling multimedia files. It contains a set of shared audio and video libraries such as libavcodec, libavformat, and libavutil. With FFmpeg, you can convert between various video and audio formats, set sample rates, capture streaming audio/video, and resize videos. This tutorial walks you through installing ..

Read more


In attempting to use the mysqldump utility provided with MySQL 8.x against a 5.7 server, you may receive the following error message: mysqldump: Couldn’t execute ‘SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, ‘$.”number-of-buckets-specified”‘) This is due to the INFORMATION_SCHEMA in 8.0 having more columns to support several new features in 8.x.  This error can be silenced by adding the ..

Read more


gron transforms JSON into discrete assignments to make it easier to grep for what you want and see the absolute ‘path’ to it. It eases the exploration of APIs that return large blobs of JSON but have terrible documentation. ▶ gron “https://api.github.com/repos/tomnomnom/gron/commits?per_page=1” | fgrep “commit.author” json[0].commit.author = {}; json[0].commit.author.date = “2016-07-02T10:51:21Z”; json[0].commit.author.email = “mail@tomnomnom.com”; json[0].commit.author.name ..

Read more


A man is flying in a hot air balloon and realizes he is lost. He spots a man down below and lowers the balloon to shout: “Excuse me, can you help me? I promised my friend I would meet him half an hour ago, but I don’t know where I am.” The man below says: ..

Read more


A sample service check, annotated:    host_name                       dbsrp2076                  <– name of server     service_description             SSH                        <– service being monitored     servicegroups                   PROD-ssh                   <– service groups     is_volatile                     0                          <– Does this service spontaneously start and stop (always 0 for “no”)     check_period                    24×7                       <– during what hours is this service checked?     max_check_attempts              10                         <– ..

Read more


What if Windows let you quickly access administrative tools, backup and restore options and other important management settings from a single window? If that sounds good, look no further than the so-called “God Mode.” What Is God Mode? No, God Mode doesn’t unlock any extra secret features in Windows or let you do any tweaking ..

Read more


After you configure all PXC nodes, initialize the cluster by bootstrapping the first node. The initial node should be the one that contains all your data, which you want to be replicated to other nodes. Bootstrapping implies starting the node without any known cluster addresses. If the wsrep_cluster_address variable is empty, Percona XtraDB Cluster assumes ..

Read more


Step 1: There were two nasty queries active that wouldn’t cancel/terminate: pid | seconds | user | querytxt ——-+———+—————+—————————————————————————————————— 9315 | 22223 | rsrootuser | /*MTLN-1.37.4 (build 264)*/ + | | | DROP TABLE IF EXISTS “analysis_ready”.”airdna_airbnb_properties” CASCADE 23925 | 14125 | rsrootuser | /*MTLN-1.37.4 (build 264)*/ + | | | select + | | ..

Read more


SELECT u.usename, s.schemaname, has_schema_privilege (u.usename, s.schemaname, ‘create’) AS user_has_select_permission, has_schema_privilege (u.usename, s.schemaname, ‘usage’) AS user_has_usage_permission FROM pg_user u CROSS JOIN (SELECT DISTINCT schemaname FROM pg_tables) s WHERE u.usename = ‘tylerbullen’ AND s.schemaname = ‘vacasa’; SELECT u.usename, t.schemaname || ‘.’ || t.tablename, has_table_privilege (u.usename, t.tablename, ‘select’) AS user_has_select_permission, has_table_privilege (u.usename, t.tablename, ‘insert’) AS user_has_insert_permission, has_table_privilege (u.usename, ..

Read more


SELECT * FROM stl_scan ss JOIN pg_user pu ON ss.userid = pu.usesysid JOIN svl_query_metrics_summary sqms ON ss.query = sqms.query JOIN temp_mone_tables tmt ON tmt.table_id = ss.tbl AND tmt.table = ss.perm_table_name; SELECT perm_table_name, SUM(ROWS), SUM(bytes) SUM(fetches) FROM stl_scan WHERE starttime >= ‘2018-09-01 00:00:00’ GROUP BY perm_table_name ORDER BY SUM(bytes) DESC..

Read more


Save the SQL part as dump_rs_grants.sql, then run this bash bit: cd /usr/local/cron/dump_rs_grants PGPASSWORD=xxxxxxxxx psql -h redshiftFQDN -p 5439 -Uxxxxxx -dyyyyyy < dump_rs_grants.sql > current_rs_grants.txt dump_rs_grants.sql: WITH object_list(schema_name,object_name,permission_info) AS ( SELECT N.nspname, C.relname, array_to_string(relacl,’,’) FROM pg_class AS C INNER JOIN pg_namespace AS N ON C.relnamespace = N.oid WHERE C.relkind in (‘v’,’r’) AND N.nspname NOT IN ..

Read more


#SCHEMA=”${2}” STARTIME=`date` echo “Starting rowcount update at $STARTIME” # fivetran database DBASE=”fivetran” SCHEMALIST=”greenhouse hubspot jira mandrill marketo” # Truncate rollup table echo “Deleting from rollup table for ${DBASE} schema…” PGPASSWORD=xxxxxxxxxx psql -t -h warehouse.vacasa.services -p 5439 -Uvacasaroot -d${DBASE} -n -q -c “TRUNCATE TABLE admin.overall_rowcount;” # Iterate through schemata for SCHEMA in ${SCHEMALIST} do TABLES=`PGPASSWORD=xxxxxxxxxx psql ..

Read more


#!/bin/bash ################################################################################# # findlockblocks.sh # # Dead-stupid script that leverages existing RS queries and does a mashup that reports # the current running queries that are blocking others, sorted by time running. # # Nice, simple way to see if there’s actually a problem or if RS is just swamped. # # v1.01 2019-06-14 rlbyrd ..

Read more


#!/bin/bash ################################################################################# # do_analyze_by_batch.sh # # Using this query as the source… # # SELECT database, schema || ‘.’ || “table” AS “table”, stats_off # FROM svv_table_info # WHERE stats_off > 5 # ORDER BY 3 DESC, 2; # # …which displays all tables and their stats_off percentage in descending order. # # # Then ..

Read more


— Table level permissions SELECT * FROM ( SELECT schemaname ,objectname ,usename ,HAS_TABLE_PRIVILEGE(usrs.usename, fullobj, ‘select’) AND has_schema_privilege(usrs.usename, schemaname, ‘usage’) AS sel ,HAS_TABLE_PRIVILEGE(usrs.usename, fullobj, ‘insert’) AND has_schema_privilege(usrs.usename, schemaname, ‘usage’) AS ins ,HAS_TABLE_PRIVILEGE(usrs.usename, fullobj, ‘update’) AND has_schema_privilege(usrs.usename, schemaname, ‘usage’) AS upd ,HAS_TABLE_PRIVILEGE(usrs.usename, fullobj, ‘delete’) AND has_schema_privilege(usrs.usename, schemaname, ‘usage’) AS del ,HAS_TABLE_PRIVILEGE(usrs.usename, fullobj, ‘references’) AND has_schema_privilege(usrs.usename, schemaname, ‘usage’) ..

Read more


select relacl , ‘grant ‘ || substring( case when charindex(‘r’,split_part(split_part(array_to_string(relacl, ‘|’),pu.groname,2 ) ,’/’,1)) > 0 then ‘,select ‘ else ” end ||case when charindex(‘w’,split_part(split_part(array_to_string(relacl, ‘|’),pu.groname,2 ) ,’/’,1)) > 0 then ‘,update ‘ else ” end ||case when charindex(‘a’,split_part(split_part(array_to_string(relacl, ‘|’),pu.groname,2 ) ,’/’,1)) > 0 then ‘,insert ‘ else ” end ||case when charindex(‘d’,split_part(split_part(array_to_string(relacl, ‘|’),pu.groname,2 ) ,’/’,1)) ..

Read more


It’s columnar, donchaknow. drop table if exists example.reservation_finance_item_dedupe; create table example.reservation_finance_item_dedupe as (select distinct * from example.reservation_finance_item); select count(*) from example.reservation_finance_item; select count(*) from example.reservation_finance_item_dedupe; drop table if exists example.reservation_finance_item_old; set search_path=example; alter table reservation_finance_item rename to reservation_finance_item_old; alter table reservation_finance_item_dedupe rename to reservation_finance_item; select count(*) from example.reservation_finance_item; select count(*) from example.reservation_finance..

Read more


Most distributions of Linux come with a handy network latency utility called mtr.  Thankfully, it is included with the distributions of RHEL we use as well.  It’s a combination of ping and traceroute which show each hop of a network path, the time for that hop, and averages/standard deviations.  I use it all the time.  ..

Read more


From screentogif.com: This free tool was (and still is) mainly projected to work as a quick and small screen recorder. If you plan to record hours of fullscreen content, I recommend switching to more advanced software. Recording 📹 ScreenToGif allows you to record part of your screen with the Screen Recorder, also there’s the Webcam ..

Read more


Nikto is a very popular and easy to use webserver assessment tool to find potential problems and vulnerabilities very quickly. This tutorial shows you how to scan webservers for vulnerabilities using Nikto in Kali Linux. Nikto comes standard as a tool with Kali Linux and should be your first choice when pen testing webservers and web applications. ..

Read more


#!/usr/bin/env perl # mysqltuner.pl – Version 1.7.9 # High Performance MySQL Tuning Script # Copyright (C) 2006-2018 Major Hayden – major@mhtx.net # Inspired by Matthew Montgomery’s tuning-primer.sh script: # http://forge.mysql.com/projects/view.php?id=44 # # This version further hacked and slashed by rlbyrd off and on since 2009. package main; use 5.005; use strict; use warnings; use diagnostics; ..

Read more


— SQL snippet to calculate table fragmentation. SELECT table_schema, TABLE_NAME, ROUND(DATA_LENGTH / 1024 / 1024) AS data_length, ROUND(INDEX_LENGTH / 1024 / 1024) AS index_length, ROUND(DATA_FREE / 1024 / 1024) AS data_free, CONCAT( ROUND( ( data_free / (index_length + data_length) ) * 100 ), ‘%’ ) AS frag_ratio FROM information_schema.tables WHERE DATA_FREE > 0 AND TABLE_SCHEMA ..

Read more


#!/bin/bash # Expects: # If no *.last exists, make one. # if one does, diff it and report # Set this manually. Everything else will branch off this. BASEDIR=”/data/backups/ddl/” DBUSER=”svc_dba_adhoc” DBPASS=”ADXEZKZLbgdvcB24nvPu” TZ=”America/Los_Angeles” EMAILTO=”richard.byrd@example.com,mark.butler@example.com,rlbyrd@rlbyrd.com” if [ “$2” == “” ] then echo ” ” echo “USAGE: ddldiff ” echo ” ” fi HOST=${1} SCHEMA=${2} TMPFILE=”/tmp/${HOST}-${SCHEMA}.tmp” /bin/rm ..

Read more


Traverses all integer columns checking for capacity limits. #!/usr/bin/env perl #use 5.010; #use strict; #use warnings; # Richard L. Byrd, written sometime in the 90s and improved bit by bit over the next 20 years # # 2009-01-27: While originally written to take a configfile input on the CLI (–configfile=xxxxx.cfg) I’ve hacked # that out ..

Read more


Another useful database auditor to quickly find possible issues. Expects user and pass on command line. Currently expects to be executed on the same server as the mysqld process. #!/bin/sh # Another useful database auditor to quickly find possible issues. Expects user and pass on command line. # Currently expects to be executed on the ..

Read more


By far the simplest option is for Mac users to install Telnet through Homebrew. If you haven’t done so, go through these steps first: Next, from a termina window, run this command. brew install telnet Hit Return and let Homebrew download and install Telnet to the Mac When installation has complete, you can run Telnet ..

Read more


Advanced Mac users may appreciate using the Homebrew package manager, which greatly simplifies the process of installing command line software and tools on a Mac. For example, if you want to easily install favorite command line tools on a Mac like cask, htop, wget, nmap, tree, irssi, links, colordiff, or virtually any other familiar unix ..

Read more


To view the existing routes, C:\> route print To add a static route, Syntax: C:\> route add <target> mask <netmask> <gateway IP> metric <metric cost> if <interface> Example: C:\> route add 10.10.10.0 mask 255.255.255.0 192.168.1.1 metric 1 Note: If there is more than one Network Interface and if the interface is not mentioned, the interface ..

Read more


Executive Summary Advice is seldom welcome. And those who want it most always like it the least.    Philip Dormer Stanhope, Earl of Chesterfield  (1694-1773)   Guiding philosophy of this document:  The hero isn’t the developer that battles problems through the weekend, but the one that avoided the problem. Best practices (BP in this document) ..

Read more


Using the AWS console. Login to the AWS Management Console. Navigate to Redshift dashboard at https://console.aws.amazon.com/redshift/. In the left navigation panel, under Redshift Dashboard, click Clusters. Click Launch Cluster button from the dashboard top menu to start the cluster setup process. On the Cluster Details configuration page, enter a unique name for your new cluster ..

Read more


BASH Shell Redirect Output and Errors To /dev/null How do I redirect output and errors to /dev/null under bash / sh shell scripting? How do I redirect the output of stderr to stdout, and then redirect this combined output to /dev/null? You can send output to /dev/null, by using command >/dev/null syntax. However, this will ..

Read more


If you, or your clients, are unable to login to your/their email accounts and the system shows this error message: Plaintext authentication disallowed on non-secure (SSL/TLS) connections If you do not want to use SSL/TLS connection to get your email, and to disable SSL/TLS secure connection, do the following: 1. Edit dovecot configuration file: /etc/dovecot.conf ..

Read more


Suppose I try to create a table with a primary key that’s varchar(500), and MySQL complains the key length is longer than the maximum of 1000 bytes. 500 is less than 1000. What’s happening? Plus, a tasty (yet apparently harmless) bug in MySQL. Here’s a statement that will fail on most servers: CREATE TABLE test(c ..

Read more


This is a simple script that interactively converts an IP address to its decimal equivalent. This can sometimes be used to bypass web content filtering devices as not all will convert the decimal to an IP and then a hostname. #!/usr/bin/perl # # prompt for an IP print “Enter an IP Address: “; # get ..

Read more