Skip to main content
Recent Posts
11
PostgreSQL / MISC Queries
Last post by tino -
Compare two rows

Code: [Select]
SELECT T1.log_dt, T2.log_dt, EXTRACT(EPOCH FROM (T2.log_dt - T1.log_dt))
FROM power_data AS T1
INNER JOIN power_data  AS T2
USING ( node )
WHERE T1.log_dt > '2017-05-05 22:10:00'
AND T2.log_dt > '2017-05-05 22:10:00'
ORDER BY T1.id, T2.id
LIMIT 2
13
PHP Code / Lazy Load Class
Last post by tino -
Code: [Select]
class MyClass {
    public function __construct() {
        echo 'I am initialized!';
    }
}

$getMyClass = function() {
    $myClass = new MyClass();
    return $myClass;
};


Code: [Select]
$myClass = $getMyClass();
14
Tutorials / Postfix call script via bcc
Last post by tino -
Code: [Select]
vim /etc/postfix/master.cf

Add the following
Code: [Select]
  -o receive_override_options=no_address_mappings

Just below the
Code: [Select]
smtp      inet  n       -       -       -       -       smtpd

Setup the recipient bcc

Code: [Select]
vim /etc/postfix/recipient_bcc

Add the following as appropriate

Code: [Select]
upload@tinoest.co.uk upload-script@localhost

Run postmap so postfix can read it.

Code: [Select]
 postmap /etc/postfix/recipient_bcc 


Setup the transport

Code: [Select]
vim /etc/postfix/transport

Add the following as appropriate

Code: [Select]
upload-script@localhost :

Run postmap so postfix can read it.

Code: [Select]
 postmap /etc/postfix/transport 

edit the main.cf

Code: [Select]
 vim /etc/postfix/main.cf 

Add the following:

Code: [Select]
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
transport_maps = hash:/etc/postfix/transport


Also ensure that localhost is in the mydestination list

Edit the /etc/aliases file

Code: [Select]
vim /etc/aliases

Add the following, to point to the relevant file you wish to parse the data

Code: [Select]
upload-script: "|/usr/bin/postfix-parse"




Then restart postfix

Code: [Select]
systemcntl restart postfix 
15
Tutorials / LTSP Debian Jessie Install
Last post by tino -
Install the required files

Code: [Select]
apt-get install ltsp-server dnsmasq

Build the client

Code: [Select]
ltsp-build-client --arch i386

Edit the exports file

Code: [Select]
vim  /etc/exports 

Add the following to the bottom

Code: [Select]
/opt/ltsp       *(ro,no_root_squash,async,no_subtree_check)

Restart the Service

Code: [Select]
invoke-rc.d nfs-kernel-server reload

Just to be sure...

Code: [Select]
service nfs-kernel-server restart

Create the DNS masq files

Code: [Select]
ltsp-config dnsmasq

Amend one of the created files

Code: [Select]
vim /opt/ltsp/i386/etc/ltsp/update-kernels.conf

Change the following line:

Code: [Select]
CMDLINE_NFS="root=/dev/nfs ip=dhcp boot=nfs"

To

Code: [Select]
CMDLINE_NFS="root=/dev/nfs ip=dhcp boot=nfs nfsroot=/opt/ltsp/i386"
IPAPPEND=3

Update everything.

Code: [Select]

ltsp-chroot /usr/share/ltsp/update-kernels

ltsp-update-kernels

16
MySQL / MySQL ORDER BY
Last post by tino -
Code: [Select]
ORDER BY status ASC; will return 1,2,3,4.

Code: [Select]
ORDER BY status DESC; will return 4,3,2,1.

Code: [Select]
ORDER BY FIELD(status, 3, 2, 4, 1);
17
PostgreSQL / Auto Increment
Last post by tino -
Code: [Select]
CREATE SEQUENCE teams_id_seq;
ALTER TABLE teams ALTER id SET DEFAULT nextval('teams_id_seq');
ALTER SEQUENCE teams_id_seq OWNER TO elabftw;
ALTER SEQUENCE teams_id_seq OWNED BY teams.id;
19
PostgreSQL / timestamp round function
Last post by tino -
Code: [Select]
CREATE FUNCTION ts_round( timestamptz, INT4 ) RETURNS TIMESTAMPTZ AS $$
    SELECT 'epoch'::timestamptz + '1 second'::INTERVAL * ( $2 * ( extract( epoch FROM $1 )::INT4 / $2 ) );
$$ LANGUAGE SQL;
20
PostgreSQL / PostgreSQL upgrade instructions
Last post by tino -
Download the new postgresql version

untar , then

Code: [Select]
 
./configure
make

Stop the old server
Code: [Select]
sudo /usr/local/pgsql/bin/pgsql.sh stop

Move the old server directory

Code: [Select]
mv /usr/local/pgsql /usr/local/pgsql-9.1.24

Now install the new server

Code: [Select]
make install

cd into the contrib/pg_upgrade directory.

Code: [Select]
make
make install

cd into the contrib/pg_upgrade_support directory.

Code: [Select]
make
make install

run the following, changing the directories to be the correct ones. old => new

Code: [Select]
su postgres

Create the new data directory

Code: [Select]
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

Code: [Select]
/usr/local/pgsql/bin/pg_upgrade -b /usr/local/pgsql-9.1.24/bin/  -B /usr/local/pgsql/bin/ -d /usr/local/pgsql-9.1.24/data  -D /usr/local/pgsql/data

Copy the pgsql.sh file to the new bin location.

Code: [Select]
cp /usr/local/pgsql-9.1.24/bin/pgsql.sh /usr/local/pgsql/bin/

Code: [Select]
mkdir /usr/local/pgsql/log

Code: [Select]
chown postgres:postgres /usr/local/pgsql/log

edit the pg_hba.conf file and add the following to the end

Code: [Select]
# Allow any user from host 192.168.1.x to connect to
# any database if the user's password is correctly supplied.
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             192.168.1.0/24          md5

start the server again.