Bu yazıyı okumadan önce, ssh ayarlarınızı yaptığınıza emin olun
Bu yazı PostgreSQL 11 ve PgBackRest 2.15 için yazılmıştır
Öncelikle aşağıdaki komut ile pgbackrest kuralım:
sudo apt-get install pgbackrest -y
| server { | |
| listen 80; | |
| server_name example.com www.example.com; | |
| return 301 https://$host$request_uri; | |
| } | |
| server { | |
| listen 443 ssl; | |
| server_name example.com www.example.com; |
| # Use envFrom to load Secrets and ConfigMaps into environment variables | |
| apiVersion: apps/v1beta2 | |
| kind: Deployment | |
| metadata: | |
| name: mans-not-hot | |
| labels: | |
| app: mans-not-hot | |
| spec: | |
| replicas: 1 |
| import 'package:flutter/material.dart'; | |
| void main() => runApp(MyApp()); | |
| class MyApp extends StatelessWidget { | |
| @override | |
| Widget build(BuildContext context) { | |
| return MaterialApp( | |
| title: 'Your app name', | |
| home: Scaffold( |
| --- PSQL queries which also duplicated from https://github.com/anvk/AwesomePSQLList/blob/master/README.md | |
| --- some of them taken from https://www.slideshare.net/alexeylesovsky/deep-dive-into-postgresql-statistics-54594192 | |
| -- I'm not an expert in PSQL. Just a developer who is trying to accumulate useful stat queries which could potentially explain problems in your Postgres DB. | |
| ------------ | |
| -- Basics -- | |
| ------------ | |
| -- Get indexes of tables |
| # Sample haproxy postgresql master check | |
| # | |
| # haproxy listen: 5431 | |
| # pg, instance #1 listen: 5432 (master node) | |
| # pg, instance #2 listen: 5433 (replica node) | |
| # external failover, promoting replica to master in case of failure | |
| # passwordless auth for user web | |
| # template1 database is accessible by user web | |
| # | |
| # haproxy will pass connection to postgresql master node: |
| ## This will be fixed by | |
| find /var/www -type d -exec chmod 755 {} \; | |
| find /var/www -type f -exec chmod 644 {} \; |
| Edit /var/lib/postgres/data/postgresql.conf: | |
| # change IP on subscriber | |
| listen_addresses = '*' | |
| wal_level = logical | |
| shared_preload_libraries = 'pglogical' | |
| max_worker_processes = 16 | |
| max_wal_senders = 16 | |
| max_replication_slots = 16 | |
| track_commit_timestamp = on |
| -- show running queries (pre 9.2) | |
| SELECT procpid, age(query_start, clock_timestamp()), usename, current_query | |
| FROM pg_stat_activity | |
| WHERE current_query != '<IDLE>' AND current_query NOT ILIKE '%pg_stat_activity%' | |
| ORDER BY query_start desc; | |
| -- show running queries (9.2) | |
| SELECT pid, age(query_start, clock_timestamp()), usename, query | |
| FROM pg_stat_activity | |
| WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%' |
| -- Order by one indexed column (FAST) | |
| newsdesk_production=# explain analyze select * from pressreleases order by published_at DESC limit 100; | |
| QUERY PLAN | |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| Limit (cost=0.00..249.91 rows=100 width=1207) (actual time=26.070..716.453 rows=100 loops=1) | |
| -> Index Scan Backward using pressreleases_published_at_index on pressreleases (cost=0.00..964766.62 rows=386042 width=1207) (actual time=26.067..716.343 rows=100 loops=1) | |
| Total runtime: 716.709 ms | |
| (3 rows) | |
| - Order by two separately indexed columns (SLOW) |