Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2ab2d6b57c | ||
|
|
bc83955418 | ||
|
|
8f8f8ec79a | ||
|
|
6690b16f8a | ||
|
|
16b9b103a2 | ||
|
|
b1f70b02ff | ||
|
|
2a1394ce1f | ||
|
|
908d7e88b6 | ||
|
|
4e3ec91d23 | ||
|
|
36a71dc7fa | ||
|
|
6179638fee | ||
|
|
57e1dfa7ec | ||
|
|
2aa881d143 | ||
|
|
e9f3747969 | ||
|
|
5c30695d66 | ||
|
|
301920747d | ||
|
|
7c5554ea31 | ||
|
|
6c7bc1c815 | ||
|
|
dd45f06d50 | ||
|
|
d6a9f8a06c | ||
|
|
9647482791 | ||
|
|
ad5bb0b190 | ||
|
|
b9088b0afa | ||
|
|
5edeee8017 | ||
|
|
95466b9d6c | ||
|
|
1c44cfb714 | ||
|
|
f833cea0dd | ||
|
|
2dcaf0b4ed | ||
|
|
0e786c519e | ||
|
|
3b20cad5bb | ||
|
|
afc28d95cf | ||
|
|
9edc1d225e | ||
|
|
e5f2506663 | ||
|
|
5ec6faff13 | ||
|
|
3e6bd29198 | ||
|
|
f2036164d0 | ||
|
|
1c458b82cd | ||
|
|
b85d8c1446 | ||
|
|
0ac006fde1 | ||
|
|
1e6fab92b0 | ||
|
|
099577959b | ||
|
|
c2b7e521d3 | ||
|
|
36aaf38379 | ||
|
|
99c688f894 | ||
|
|
f4761f55f7 | ||
|
|
e18a8bf620 | ||
|
|
7c6fdcb12e | ||
|
|
f88c89f3eb | ||
|
|
5949696ded | ||
|
|
f724578463 | ||
|
|
2324337149 | ||
|
|
2dd009eb7c | ||
|
|
92bb931b0a | ||
|
|
eeee45e57c | ||
|
|
10ba029980 | ||
|
|
fd65f1b644 | ||
|
|
9f6ddd3cf9 | ||
|
|
673b5ea5a1 | ||
|
|
84c024f6fa | ||
|
|
3e0ade5a59 | ||
|
|
db23330939 | ||
|
|
bb24c445e6 | ||
|
|
b44b06591b | ||
|
|
b475be93fa | ||
|
|
3e47abed8f | ||
|
|
f0185fbe7f | ||
|
|
5f689a56dd | ||
|
|
0d1e3f36e1 | ||
|
|
29ccdb3242 | ||
|
|
0546e79aed | ||
|
|
5ee403fec7 | ||
|
|
5a3fa59741 | ||
|
|
60497df04b | ||
|
|
f143aa05a3 | ||
|
|
ee0687ecd3 | ||
|
|
e612140473 | ||
|
|
e384c9665a | ||
|
|
30d2d1b23e | ||
|
|
ed2a73f7ff | ||
|
|
b5e5f8ac4c | ||
|
|
102e0a9839 | ||
|
|
edec9adbfb | ||
|
|
c9345ad618 | ||
|
|
fc4b419987 | ||
|
|
475e3689f7 | ||
|
|
c90508cece | ||
|
|
a85d907351 | ||
|
|
9f31ec115a | ||
|
|
fbbbfe22dd | ||
|
|
26b279cc8a | ||
|
|
3ac271e702 | ||
|
|
4ae9132b59 | ||
|
|
3fa48f26b8 | ||
|
|
00e17ef152 | ||
|
|
ace73ebb60 | ||
|
|
5931162556 | ||
|
|
053b1e3d69 | ||
|
|
082fb165d3 | ||
|
|
a02ebe192b | ||
|
|
8ab78dc40d | ||
|
|
6ecd7b20f7 | ||
|
|
48a86f6c38 | ||
|
|
b742487dc3 | ||
|
|
089f890f2e | ||
|
|
1f0a2fd150 | ||
|
|
715839d295 | ||
|
|
1bcf343ceb | ||
|
|
e99fc02f9e | ||
|
|
c0a1429664 | ||
|
|
cc1ce09b73 | ||
|
|
25074e46b4 | ||
|
|
cee0945a78 | ||
|
|
24b0c2e919 | ||
|
|
c56aef335b | ||
|
|
097b630738 | ||
|
|
f351b10ed0 | ||
|
|
1a02d13a28 | ||
|
|
bece59d4b3 | ||
|
|
30398219f4 | ||
|
|
8545d846c0 | ||
|
|
6d8c4bdb82 | ||
|
|
496acf5598 | ||
|
|
36228fece7 | ||
|
|
794c7cb335 | ||
|
|
9c9766ca0a | ||
|
|
7374997425 | ||
|
|
134e651989 | ||
|
|
8b130b3351 | ||
|
|
d26182d178 | ||
|
|
8ddcdbf499 | ||
|
|
4e49d752fb | ||
|
|
0cbb5324bf | ||
|
|
1e90245650 | ||
|
|
3425bc0349 | ||
|
|
7593bb98c1 | ||
|
|
d8c007f644 | ||
|
|
0ea51861c7 | ||
|
|
cfbf4d8452 | ||
|
|
af88851228 | ||
|
|
864f23c60d | ||
|
|
8dffcf842f | ||
|
|
6971d8c3a1 | ||
|
|
43f4cc4e17 | ||
|
|
a5530f59f7 | ||
|
|
e272552780 | ||
|
|
dfbbc3b1a1 | ||
|
|
a8ab714606 | ||
|
|
2ab419c8a5 | ||
|
|
29e85a6b06 | ||
|
|
125d36e7d2 | ||
|
|
16406f88a7 | ||
|
|
dee1a2ae6b | ||
|
|
1f879b3e87 | ||
|
|
b5bd236387 | ||
|
|
41812c9fde | ||
|
|
4faf2a3c6d | ||
|
|
d3ede3151a | ||
|
|
721290b1e9 | ||
|
|
10929157b4 | ||
|
|
5a74022e8a | ||
|
|
a74b0232f9 | ||
|
|
e81a036850 | ||
|
|
389896411a | ||
|
|
6adae46a4c | ||
|
|
96ed38292f | ||
|
|
47b2bc8a83 | ||
|
|
9ad223c41c | ||
|
|
d09833744a | ||
|
|
c92e9c2953 | ||
|
|
af1f4b3aa7 | ||
|
|
4b40aac89f | ||
|
|
0ff34ab6ae | ||
|
|
9462296d33 | ||
|
|
0904adaed0 | ||
|
|
f7045b58d4 | ||
|
|
459121566c | ||
|
|
e12e8bc9cf | ||
|
|
956401015d | ||
|
|
1ac385be27 | ||
|
|
8145e042a6 | ||
|
|
cdf49d6300 | ||
|
|
028b70203c | ||
|
|
e23ef5d9df | ||
|
|
711181c752 | ||
|
|
3de19f66f2 | ||
|
|
4c5324bd99 | ||
|
|
639a28fbfc | ||
|
|
41fe1db884 | ||
|
|
cafe69c235 | ||
|
|
d55c35c0e8 | ||
|
|
0e0cbc40b8 | ||
|
|
47aa070cc3 | ||
|
|
4fe47b8e92 | ||
|
|
e80e82cd7f | ||
|
|
29f13f8832 | ||
|
|
81fccc87b5 | ||
|
|
93d25eea0b | ||
|
|
a166f8dc89 | ||
|
|
d26c167c76 | ||
|
|
60983a25d2 | ||
|
|
2d08b0dd13 | ||
|
|
b28df5874e | ||
|
|
ad0567bd85 | ||
|
|
701085adaf | ||
|
|
5240e8ccf8 | ||
|
|
4ce65ea770 | ||
|
|
19b8d05e65 | ||
|
|
f5ba42bec8 | ||
|
|
26ec59ab5f | ||
|
|
30509d1bc1 | ||
|
|
5e710f7ee3 | ||
|
|
ec5ea7e207 | ||
|
|
9b5dc28bac | ||
|
|
db727381b1 | ||
|
|
fdaedacf40 | ||
|
|
4d74f84d80 | ||
|
|
fcfe7cfb7c | ||
|
|
5248055a01 | ||
|
|
740ce15bd7 | ||
|
|
2621050066 | ||
|
|
2b736c18ab | ||
|
|
3fa4e82af9 | ||
|
|
fd8af4034a | ||
|
|
e837de5e8f | ||
|
|
01a118d495 | ||
|
|
ec12dc5288 | ||
|
|
a4e9f04a2e | ||
|
|
6d399f4fd7 | ||
|
|
cede5cf899 | ||
|
|
41a62c8082 | ||
|
|
8c06d93303 | ||
|
|
9ccdaf73cd | ||
|
|
09b83e54a2 | ||
|
|
c8d6ff8a6d | ||
|
|
c85a9be621 | ||
|
|
0d287df6dd | ||
|
|
a973c9c62c | ||
|
|
2d60bc2800 | ||
|
|
a22b2a6074 | ||
|
|
04580652ab | ||
|
|
4db13facf7 | ||
|
|
adab656a79 | ||
|
|
92549af3d4 | ||
|
|
9379df2543 | ||
|
|
4490b623f8 | ||
|
|
371bec7f19 | ||
|
|
a01b0973fc | ||
|
|
75a1b4b17e | ||
|
|
51b02ae6d4 | ||
|
|
e207a82dbb | ||
|
|
9cf3288934 | ||
|
|
e64f4f632d | ||
|
|
4b71519b80 | ||
|
|
4e2aa82ddd | ||
|
|
444f3a3189 | ||
|
|
2b2ff0d260 | ||
|
|
f2876cabe8 | ||
|
|
16d1df2a1b | ||
|
|
fd1a0753bc | ||
|
|
c84f38ac0f | ||
|
|
f3fb76f669 | ||
|
|
377216caec | ||
|
|
c9590b2d62 | ||
|
|
1622211b39 | ||
|
|
523eca5a95 | ||
|
|
1bebddfc7d | ||
|
|
37362541bf | ||
|
|
412375af3c | ||
|
|
3bd2dec663 | ||
|
|
222e8cc1f8 | ||
|
|
85255b65b1 | ||
|
|
338bb64a55 | ||
|
|
a9ca7a2fd4 | ||
|
|
b51df0e5fd | ||
|
|
e66cb54a58 | ||
|
|
361ae458d4 | ||
|
|
115208c8d8 | ||
|
|
9611e06dcf | ||
|
|
22b386165d | ||
|
|
19cbe8c39f | ||
|
|
d8bcc11a95 | ||
|
|
9f203cf7d7 | ||
|
|
06a612481f | ||
|
|
682d6597e4 | ||
|
|
a59372cbe3 | ||
|
|
101f6fc103 | ||
|
|
23c618e1c9 | ||
|
|
0bc044fa67 | ||
|
|
5bdccb6e63 | ||
|
|
6d7338e64d | ||
|
|
0358298090 | ||
|
|
0e3dc74bb4 | ||
|
|
302e1acabd | ||
|
|
c9db4a0d16 | ||
|
|
cc239149ba | ||
|
|
c4a5f8d707 | ||
|
|
75a2d880f6 | ||
|
|
e5cba59a02 | ||
|
|
0e8868a650 | ||
|
|
7f49b891df | ||
|
|
0ac471d160 | ||
|
|
370cb611d7 | ||
|
|
d4b57edede | ||
|
|
85dd1e92ad | ||
|
|
ef0b30b1ca | ||
|
|
0d8adf9ced | ||
|
|
695c008245 | ||
|
|
96fccd28a9 | ||
|
|
5f3965ff0a | ||
|
|
6062084128 | ||
|
|
01d1e6f706 | ||
|
|
9eb7c1cbea | ||
|
|
5d70803d6d | ||
|
|
53b5b59f56 | ||
|
|
17acce3e7b | ||
|
|
d3dd5c0b56 | ||
|
|
71e7a7c481 | ||
|
|
0b707be615 | ||
|
|
179332ed5a | ||
|
|
a8a7574e69 | ||
|
|
e30d2eca90 | ||
|
|
4bc6dcca67 | ||
|
|
46a8c1ad6a | ||
|
|
3e575e2f43 | ||
|
|
b11b2a2f50 | ||
|
|
1bfd8d7f3c | ||
|
|
f1da4f5de8 | ||
|
|
5a7583654f | ||
|
|
cfa7bef407 | ||
|
|
8997f616a2 | ||
|
|
f50f799b88 | ||
|
|
3bcac26ff9 | ||
|
|
c5f4a56c0c | ||
|
|
d74320f06e | ||
|
|
b003f76903 | ||
|
|
ebc3460fce | ||
|
|
ed51fe475e | ||
|
|
f2bd3933c6 | ||
|
|
862f101772 | ||
|
|
6d555645e9 | ||
|
|
e587ef404c | ||
|
|
fe753bd272 | ||
|
|
c07c153f15 | ||
|
|
3416184236 | ||
|
|
6e3ee1c607 | ||
|
|
b512404c85 | ||
|
|
5bb6e9133f | ||
|
|
344c236d72 | ||
|
|
b4b2a4ff67 | ||
|
|
205a661922 | ||
|
|
eead9b77e7 | ||
|
|
47e734dbf2 | ||
|
|
ce372a73bf | ||
|
|
10c5d25735 | ||
|
|
81dcc91747 | ||
|
|
3a62fc5a2a | ||
|
|
10adb6a11b | ||
|
|
82fade7645 | ||
|
|
37dced23f0 | ||
|
|
6f857bdbcb | ||
|
|
6ba9c192ce | ||
|
|
221af6caa6 | ||
|
|
e22492ad51 | ||
|
|
2b8efc6361 | ||
|
|
73430a2062 | ||
|
|
fc411bfc49 | ||
|
|
4450145d31 | ||
|
|
cd84200135 | ||
|
|
6997d0149e | ||
|
|
5981f4bd13 | ||
|
|
5113fda7a6 | ||
|
|
7ce07f7dcf | ||
|
|
078a959e3d | ||
|
|
b4f517f7ff | ||
|
|
36dc2e9d2a | ||
|
|
858c85adbe | ||
|
|
2cd86449d0 | ||
|
|
c37fb061bd | ||
|
|
dc9cc3730b | ||
|
|
872b60de5c | ||
|
|
5d2ce142dd | ||
|
|
9666bd6c8d | ||
|
|
0b3c79865e | ||
|
|
9c903f944c | ||
|
|
541d9dfcb4 | ||
|
|
b9d3006915 | ||
|
|
68b7ddb592 | ||
|
|
4309aa3ba7 | ||
|
|
f9bbadfc6a | ||
|
|
c6f8918983 | ||
|
|
16c95d21a7 | ||
|
|
bae912fa40 | ||
|
|
ca3ec76db6 | ||
|
|
4050545f7c | ||
|
|
975bcd9fb0 | ||
|
|
3cd547f879 | ||
|
|
5736e173ea | ||
|
|
5a26cad588 | ||
|
|
3b616b2fb1 | ||
|
|
35f05e49b3 | ||
|
|
61fa8b16c9 | ||
|
|
3258851425 | ||
|
|
0f5450c6d2 | ||
|
|
07f18a1b05 | ||
|
|
02ecc82e73 | ||
|
|
0d111e0fb6 | ||
|
|
7af597eca2 | ||
|
|
64c71becc6 | ||
|
|
ffec77d50b | ||
|
|
d69b4282c8 | ||
|
|
aa973fc8ae | ||
|
|
8c91d40932 | ||
|
|
2f5fb6a996 | ||
|
|
cfc338c5f0 | ||
|
|
32403920fe | ||
|
|
e9384615dc | ||
|
|
07d965ea46 | ||
|
|
a43b70e360 | ||
|
|
095e11247d | ||
|
|
88162c683e | ||
|
|
cf3c696f7e | ||
|
|
02eaf787e9 | ||
|
|
e5c249e81c | ||
|
|
c0b868b53b | ||
|
|
39a14920e3 | ||
|
|
5cf9dea9a8 | ||
|
|
0b7eafaca0 | ||
|
|
ed8aeed818 | ||
|
|
0b91244f91 | ||
|
|
46c67a2f4e | ||
|
|
c87e925991 | ||
|
|
5fb80af90e | ||
|
|
77467209c2 | ||
|
|
cd613ded0a | ||
|
|
e8283173ba | ||
|
|
c08953b9b3 | ||
|
|
779749a515 | ||
|
|
7f5433b307 | ||
|
|
93525a6196 | ||
|
|
eee7e1ae53 | ||
|
|
e2f32c0984 | ||
|
|
edd1783353 | ||
|
|
1adde6084f | ||
|
|
34f160cec7 | ||
|
|
33b2b82ba9 | ||
|
|
2c81b33925 | ||
|
|
a9799f25a2 | ||
|
|
0e0eb3c2d5 | ||
|
|
98fd51b38b | ||
|
|
3c43aa12af | ||
|
|
e80d55e968 | ||
|
|
7fcfea2214 | ||
|
|
e06d39b70c | ||
|
|
b2eb23eb8d | ||
|
|
da71c0c746 | ||
|
|
0b24a8f39a | ||
|
|
8afa17d692 | ||
|
|
c72e2f159d | ||
|
|
f399b30605 | ||
|
|
b55164c454 | ||
|
|
27c7ea2ff1 | ||
|
|
ac50b4d80b | ||
|
|
2c4b479f50 | ||
|
|
00011b387a | ||
|
|
b01a93544f | ||
|
|
48bfc66048 | ||
|
|
1a7a23de3f | ||
|
|
59c4a00134 | ||
|
|
c873217cf1 | ||
|
|
ce146b679c | ||
|
|
e8fdf04e97 | ||
|
|
0f86b78d87 | ||
|
|
31fddaf10b | ||
|
|
30a0fb1cb3 | ||
|
|
3ba73ab1d9 | ||
|
|
7d7b8a71c1 | ||
|
|
4920d25479 | ||
|
|
a1c7265c41 | ||
|
|
2aea5b41ad | ||
|
|
9ab36b0269 | ||
|
|
b4e6d8c6d7 | ||
|
|
5c2d242ff8 | ||
|
|
a460644ae8 | ||
|
|
e177344ae1 | ||
|
|
8651a1ed45 | ||
|
|
8ec5fca4a0 | ||
|
|
52643a5c9b | ||
|
|
a7f06eea0b | ||
|
|
a5cb9b5679 | ||
|
|
538c1aa622 | ||
|
|
5f86088cfe | ||
|
|
fc1cd179ee | ||
|
|
69dec1bdf9 | ||
|
|
39d70a94a6 | ||
|
|
dab5e592e2 | ||
|
|
a3c3d91515 | ||
|
|
25e05de27d | ||
|
|
9f35728c6a | ||
|
|
76b0f80893 | ||
|
|
d17d291e07 | ||
|
|
b4991a49a2 | ||
|
|
d3753ee132 | ||
|
|
d98ce3864f | ||
|
|
038ab5eb90 | ||
|
|
4676961fc4 | ||
|
|
de7eb73867 | ||
|
|
58cd21686b | ||
|
|
be1bdbcd14 | ||
|
|
75d14565e4 | ||
|
|
bd4e14da89 | ||
|
|
8dd8d1d03a | ||
|
|
715fa47eb6 | ||
|
|
45b1794941 | ||
|
|
940d190bc8 | ||
|
|
ab0b1dd40c | ||
|
|
ac5be70c60 | ||
|
|
def1f31ba8 | ||
|
|
20ad30abc1 | ||
|
|
fbf25f861b | ||
|
|
2fb68bf7fc | ||
|
|
21b81f7999 | ||
|
|
8744b29edf | ||
|
|
ecf29c5be9 | ||
|
|
fbb43f8c3e | ||
|
|
613002c417 | ||
|
|
16a0950f63 | ||
|
|
a08714cd65 | ||
|
|
7686280cb2 | ||
|
|
115d4afd9e | ||
|
|
a6b8b7bfa9 | ||
|
|
cb7fd7106c | ||
|
|
62056cab14 | ||
|
|
9aa116bf3f | ||
|
|
70d356d0f4 | ||
|
|
bccdb131ee | ||
|
|
dd92196c40 | ||
|
|
c12f229c64 | ||
|
|
6b232ba7e8 | ||
|
|
d09c3b6b21 | ||
|
|
326dc2bbcc | ||
|
|
cba689dcd9 | ||
|
|
8f6d016df0 | ||
|
|
8724fe5619 | ||
|
|
d6cddd8c29 | ||
|
|
732bcc2b4d | ||
|
|
8600a41185 | ||
|
|
944b614431 | ||
|
|
cbeacf890d | ||
|
|
0687c52fdc | ||
|
|
dcca55a200 | ||
|
|
d655d0437d | ||
|
|
8dc79e73bd | ||
|
|
39359dd2f1 | ||
|
|
64c48ad237 | ||
|
|
ee0cfef31a | ||
|
|
5a22876176 | ||
|
|
ca01116700 | ||
|
|
c93000a6e2 | ||
|
|
058da752a1 | ||
|
|
4b477aed5d | ||
|
|
f7bc826262 | ||
|
|
5a701b7c61 | ||
|
|
78db1e3c36 | ||
|
|
1184752540 | ||
|
|
7c6e83c6fe | ||
|
|
0d926d4c7f | ||
|
|
595a0dfc55 | ||
|
|
466e969776 | ||
|
|
878c14dec0 | ||
|
|
4490f6f838 | ||
|
|
4746fbd346 | ||
|
|
5d619fd455 | ||
|
|
c5cbb33a06 | ||
|
|
a9ae7ca099 | ||
|
|
d21e1eb17e | ||
|
|
bb570a50ae | ||
|
|
36949aef99 | ||
|
|
557f33c4f9 | ||
|
|
eef295f9d8 | ||
|
|
b8377be1b5 | ||
|
|
789f169135 | ||
|
|
64446790d2 | ||
|
|
be4db5ce04 | ||
|
|
c90f831493 | ||
|
|
251bf05692 | ||
|
|
3e713cf58b | ||
|
|
78c098c9ea | ||
|
|
6bf2733628 | ||
|
|
a1608900ed | ||
|
|
745a91393c | ||
|
|
f4ea95da12 | ||
|
|
22f2ac0507 | ||
|
|
15ea450abe | ||
|
|
923168833c | ||
|
|
e385aec7f7 | ||
|
|
c42e00a090 | ||
|
|
e20e862c22 | ||
|
|
a5b5ede8fd | ||
|
|
07fa09f3c7 | ||
|
|
7e3a932890 | ||
|
|
3b9eef3bb7 | ||
|
|
90630e386b | ||
|
|
c1a7984e1f | ||
|
|
aa7720f226 | ||
|
|
8e58bcc4c0 | ||
|
|
caad254fca | ||
|
|
c649fcca94 | ||
|
|
f04fecb6c7 |
No files matched your search
@@ -8,7 +8,7 @@ updates:
|
||||
- "Dependencies"
|
||||
commit-message:
|
||||
prefix: "Docker dependency"
|
||||
|
||||
|
||||
- package-ecosystem: "pip"
|
||||
directory: "/"
|
||||
schedule:
|
||||
@@ -17,7 +17,7 @@ updates:
|
||||
- "Dependencies"
|
||||
commit-message:
|
||||
prefix: "Python dependency"
|
||||
|
||||
|
||||
- package-ecosystem: "pip"
|
||||
directory: "/tools"
|
||||
schedule:
|
||||
@@ -25,8 +25,8 @@ updates:
|
||||
labels:
|
||||
- "Dependencies"
|
||||
commit-message:
|
||||
prefix: "Python dependency"
|
||||
|
||||
prefix: "Python dependency"
|
||||
|
||||
- package-ecosystem: "pip"
|
||||
directory: "/web/regression"
|
||||
schedule:
|
||||
@@ -34,8 +34,8 @@ updates:
|
||||
labels:
|
||||
- "Dependencies"
|
||||
commit-message:
|
||||
prefix: "Python dependency"
|
||||
|
||||
prefix: "Python dependency"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/runtime"
|
||||
schedule:
|
||||
@@ -43,8 +43,8 @@ updates:
|
||||
labels:
|
||||
- "Dependencies"
|
||||
commit-message:
|
||||
prefix: "Python dependency"
|
||||
|
||||
prefix: "Javascript dependency"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/web"
|
||||
schedule:
|
||||
@@ -52,4 +52,4 @@ updates:
|
||||
labels:
|
||||
- "Dependencies"
|
||||
commit-message:
|
||||
prefix: "Python dependency"
|
||||
prefix: "Javascript dependency"
|
||||
@@ -13,11 +13,11 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
build-container:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Build the container
|
||||
run: docker build .
|
||||
@@ -13,11 +13,11 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
build-docs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install platform dependencies
|
||||
run: |
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
make docs
|
||||
|
||||
- name: Archive HTML
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pgadmin4-html-build-output
|
||||
path: docs/en_US/_build/html/*
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
make docs-epub
|
||||
|
||||
- name: Archive ePub
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pgadmin4-epub-build-output
|
||||
path: docs/en_US/_build/epub/pgAdmin4.epub
|
||||
@@ -55,7 +55,7 @@ jobs:
|
||||
make docs-pdf
|
||||
|
||||
- name: Archive PDF
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pgadmin4-pdf-build-output
|
||||
path: docs/en_US/_build/latex/pgadmin4.pdf
|
||||
@@ -13,11 +13,16 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
check-javascript-style:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Upgrade yarn
|
||||
run: |
|
||||
yarn set version berry
|
||||
yarn set version 3
|
||||
|
||||
- name: Install Node modules
|
||||
run: |
|
||||
|
||||
@@ -13,11 +13,11 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
build-python-package:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install platform dependencies
|
||||
run: |
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
make pip
|
||||
|
||||
- name: Archive Python wheel
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pgadmin4-python-build-output
|
||||
path: dist/*
|
||||
@@ -13,11 +13,11 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
check-python-style:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install Python dependencies
|
||||
run: |
|
||||
|
||||
@@ -13,11 +13,11 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
build-tarball:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install platform dependencies
|
||||
run: |
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
make src
|
||||
|
||||
- name: Archive source tarball
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pgadmin4-tarball-build-output
|
||||
path: dist/*
|
||||
@@ -13,11 +13,11 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
check-translations:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install platform dependencies
|
||||
run: |
|
||||
|
||||
@@ -0,0 +1,178 @@
|
||||
name: Run feature tests on EPAS
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
run-feature-tests-epas:
|
||||
# Only run if the tests are enabled
|
||||
# TODO: Figure out a way to test for the presence of the secrets instead
|
||||
if: vars.ENABLE_EPAS_TESTS == 'true'
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
pgver: [12, 13, 14, 15, 16]
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup the EDB APT repo on Linux
|
||||
run: |
|
||||
sudo su -c 'echo "deb [arch=amd64] https://apt.enterprisedb.com/$(lsb_release -cs)-edb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/edb-$(lsb_release -cs).list'
|
||||
sudo su -c 'echo "machine apt.enterprisedb.com login ${{ secrets.EDB_REPO_USERNAME }} password ${{ secrets.EDB_REPO_PASSWORD }}" > /etc/apt/auth.conf.d/edb.conf'
|
||||
sudo wget -q -O - https://apt.enterprisedb.com/edb-deb.gpg.key | sudo apt-key add -
|
||||
|
||||
- name: Install platform dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y libpq-dev libffi-dev libssl-dev libkrb5-dev zlib1g-dev edb-as${{ matrix.pgver }}-server edb-as${{ matrix.pgver }}-server-pldebugger edb-as${{ matrix.pgver }}-pgagent
|
||||
|
||||
- name: Create the tablespace directory
|
||||
run: |
|
||||
sudo mkdir -p /var/lib/edb-as/tablespaces/${{ matrix.pgver }}
|
||||
sudo chown enterprisedb:enterprisedb /var/lib/edb-as/tablespaces/${{ matrix.pgver }}
|
||||
|
||||
- name: Start EDB PostgreSQL
|
||||
run: |
|
||||
# Note: we use a custom port for PostgreSQL as the runner may already have a version of PostgreSQL installed
|
||||
sudo su -c "echo local all all trust > /etc/edb-as/${{ matrix.pgver }}/main/pg_hba.conf"
|
||||
sudo sed -i "s/port = 544[0-9]/port = 58${{ matrix.pgver }}/g" /etc/edb-as/${{ matrix.pgver }}/main/postgresql.conf
|
||||
sudo sed -i "s/shared_preload_libraries = '/shared_preload_libraries = '\$libdir\/plugin_debugger,/g" /etc/edb-as/${{ matrix.pgver }}/main/postgresql.conf
|
||||
sudo su - enterprisedb -c "mkdir -p /var/run/edb-as/${{ matrix.pgver }}-main.epas_stat_tmp"
|
||||
sudo systemctl restart edb-as@${{ matrix.pgver }}-main
|
||||
|
||||
until sudo runuser -l enterprisedb -c "/usr/lib/edb-as/${{ matrix.pgver }}/bin/pg_isready -p 58${{ matrix.pgver }}" 2>/dev/null; do
|
||||
>&2 echo "EPAS is unavailable - sleeping for 2 seconds"
|
||||
sleep 2
|
||||
done
|
||||
|
||||
psql -U enterprisedb -d postgres -p 58${{ matrix.pgver }} -c 'CREATE EXTENSION IF NOT EXISTS pgagent;'
|
||||
|
||||
- name: Install Python dependencies
|
||||
run: make install-python-testing
|
||||
|
||||
- name: Create the test configuration
|
||||
run: |
|
||||
cat <<EOF > web/config_local.py
|
||||
from config import *
|
||||
|
||||
# Debug mode
|
||||
DEBUG = True
|
||||
|
||||
# App mode
|
||||
SERVER_MODE = False
|
||||
|
||||
# Log
|
||||
CONSOLE_LOG_LEVEL = DEBUG
|
||||
FILE_LOG_LEVEL = DEBUG
|
||||
|
||||
DEFAULT_SERVER = '127.0.0.1'
|
||||
|
||||
UPGRADE_CHECK_ENABLED = False
|
||||
|
||||
LOG_FILE = "$(pwd)/var/pgadmin4.log"
|
||||
SESSION_DB_PATH = "$(pwd)/var/sessions"
|
||||
STORAGE_DIR = "$(pwd)/var/storage"
|
||||
SQLITE_PATH = "$(pwd)/var/pgadmin4.db"
|
||||
TEST_SQLITE_PATH = "$(pwd)/var/pgadmin4.db"
|
||||
AZURE_CREDENTIAL_CACHE_DIR = "$(pwd)/var/azurecredentialcache"
|
||||
EOF
|
||||
|
||||
cat <<EOF > web/regression/test_config.json
|
||||
{
|
||||
"headless_chrome": false,
|
||||
"default_browser": "Chrome",
|
||||
"pgAdmin4_login_credentials": {
|
||||
"new_password": "NEWPASSWORD",
|
||||
"login_password": "PASSWORD",
|
||||
"login_username": "USER@EXAMPLE.COM"
|
||||
},
|
||||
"pgAdmin4_test_user_credentials": {
|
||||
"new_password": "NEWPASSWORD",
|
||||
"login_password": "PASSWORD",
|
||||
"login_username": "USER2@EXAMPLE.COM"
|
||||
},
|
||||
"pgAdmin4_test_non_admin_credentials": {
|
||||
"new_password": "NEWPASSWORD",
|
||||
"login_password": "PASSWORD",
|
||||
"login_username": "USER@EXAMPLE.COM"
|
||||
},
|
||||
"server_group": 1,
|
||||
"server_credentials": [
|
||||
{
|
||||
"name": "EPAS ${{ matrix.pgver }}",
|
||||
"comment": "EPAS ${{ matrix.pgver }} Server",
|
||||
"db_username": "enterprisedb",
|
||||
"host": "/var/run/edb-as",
|
||||
"db_password": "",
|
||||
"db_port": 58${{ matrix.pgver }},
|
||||
"maintenance_db": "postgres",
|
||||
"sslmode": "prefer",
|
||||
"tablespace_path": "/var/lib/edb-as/tablespaces/${{ matrix.pgver }}",
|
||||
"enabled": true,
|
||||
"default_binary_paths": {
|
||||
"pg": "",
|
||||
"ppas": "/usr/lib/edb-as/${{ matrix.pgver }}/bin"
|
||||
}
|
||||
}
|
||||
],
|
||||
"server_update_data": [
|
||||
{
|
||||
"comment": "This is test update comment"
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
|
||||
- name: Upgrade yarn
|
||||
run: |
|
||||
yarn set version berry
|
||||
yarn set version 3
|
||||
|
||||
- name: Build the JS bundle
|
||||
run: |
|
||||
cd web
|
||||
yarn install
|
||||
yarn run bundle
|
||||
|
||||
- name: Run the tests
|
||||
run: |
|
||||
. venv/bin/activate
|
||||
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
|
||||
export DISPLAY=:99
|
||||
cd web
|
||||
python regression/runtests.py --pkg feature_tests
|
||||
|
||||
- name: Archive server log
|
||||
if: success() || failure()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: server-log-pg${{ matrix.pgver }}
|
||||
path: var/pgadmin4.log
|
||||
|
||||
- name: Archive regression log
|
||||
if: success() || failure()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: regression-log-pg${{ matrix.pgver }}
|
||||
path: web/regression/regression.log
|
||||
|
||||
- name: Archive screenshots
|
||||
if: success() || failure()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: screenshots-pg${{ matrix.pgver }}
|
||||
path: web/regression/screenshots
|
||||
if-no-files-found: ignore
|
||||
@@ -0,0 +1,181 @@
|
||||
name: Run feature tests on PostgreSQL
|
||||
|
||||
# Note: we use a custom port for PostgreSQL as the runners may already have
|
||||
# a version installed.
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
run-feature-tests-pg:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
pgver: [12, 13, 14, 15, 16]
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup the PGDG APT repo
|
||||
run: |
|
||||
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
|
||||
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
|
||||
|
||||
- name: Install platform dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y libpq-dev libffi-dev libssl-dev libkrb5-dev zlib1g-dev postgresql-${{ matrix.pgver }} postgresql-${{ matrix.pgver }}-pldebugger pgagent
|
||||
|
||||
- name: Create the tablespace directory
|
||||
run: |
|
||||
sudo mkdir -p /var/lib/postgresql/tablespaces/${{ matrix.pgver }}
|
||||
sudo chown postgres:postgres /var/lib/postgresql/tablespaces/${{ matrix.pgver }}
|
||||
|
||||
- name: Re-create stats directory, just in case
|
||||
run: |
|
||||
sudo rm -rf /var/run/postgresql/${{ matrix.pgver }}-main.pg_stat_tmp/
|
||||
sudo mkdir -p /var/run/postgresql/${{ matrix.pgver }}-main.pg_stat_tmp/
|
||||
sudo chown postgres:postgres /var/run/postgresql/${{ matrix.pgver }}-main.pg_stat_tmp/
|
||||
|
||||
- name: Start PostgreSQL
|
||||
run: |
|
||||
sudo su -c "echo local all all trust > /etc/postgresql/${{ matrix.pgver }}/main/pg_hba.conf"
|
||||
sudo sed -i "s/port = 543[0-9]/port = 59${{ matrix.pgver }}/g" /etc/postgresql/${{ matrix.pgver }}/main/postgresql.conf
|
||||
sudo sed -i "s/#shared_preload_libraries = ''/shared_preload_libraries = '\$libdir\/plugin_debugger'/g" /etc/postgresql/${{ matrix.pgver }}/main/postgresql.conf
|
||||
sudo su - postgres -c "/usr/lib/postgresql/${{ matrix.pgver }}/bin/postgres -D /var/lib/postgresql/${{ matrix.pgver }}/main -c config_file=/etc/postgresql/${{ matrix.pgver }}/main/postgresql.conf &"
|
||||
|
||||
until sudo runuser -l postgres -c "pg_isready -p 59${{ matrix.pgver }}" 2>/dev/null; do
|
||||
>&2 echo "Postgres is unavailable - sleeping for 2 seconds"
|
||||
sleep 2
|
||||
done
|
||||
|
||||
psql -U postgres -p 59${{ matrix.pgver }} -c 'CREATE EXTENSION pgagent;'
|
||||
psql -U postgres -p 59${{ matrix.pgver }} -c 'CREATE EXTENSION pldbgapi;'
|
||||
|
||||
- name: Install Python dependencies
|
||||
run: make install-python-testing
|
||||
|
||||
- name: Create the test configuration
|
||||
run: |
|
||||
cat <<EOF > web/config_local.py
|
||||
from config import *
|
||||
|
||||
# Debug mode
|
||||
DEBUG = True
|
||||
|
||||
# App mode
|
||||
SERVER_MODE = False
|
||||
|
||||
# Log
|
||||
CONSOLE_LOG_LEVEL = DEBUG
|
||||
FILE_LOG_LEVEL = DEBUG
|
||||
|
||||
DEFAULT_SERVER = '127.0.0.1'
|
||||
|
||||
UPGRADE_CHECK_ENABLED = False
|
||||
|
||||
LOG_FILE = "$(pwd)/var/pgadmin4.log"
|
||||
SESSION_DB_PATH = "$(pwd)/var/sessions"
|
||||
STORAGE_DIR = "$(pwd)/var/storage"
|
||||
SQLITE_PATH = "$(pwd)/var/pgadmin4.db"
|
||||
TEST_SQLITE_PATH = "$(pwd)/var/pgadmin4.db"
|
||||
AZURE_CREDENTIAL_CACHE_DIR = "$(pwd)/var/azurecredentialcache"
|
||||
EOF
|
||||
|
||||
cat <<EOF > web/regression/test_config.json
|
||||
{
|
||||
"headless_chrome": false,
|
||||
"default_browser": "Chrome",
|
||||
"pgAdmin4_login_credentials": {
|
||||
"new_password": "NEWPASSWORD",
|
||||
"login_password": "PASSWORD",
|
||||
"login_username": "USER@EXAMPLE.COM"
|
||||
},
|
||||
"pgAdmin4_test_user_credentials": {
|
||||
"new_password": "NEWPASSWORD",
|
||||
"login_password": "PASSWORD",
|
||||
"login_username": "USER2@EXAMPLE.COM"
|
||||
},
|
||||
"pgAdmin4_test_non_admin_credentials": {
|
||||
"new_password": "NEWPASSWORD",
|
||||
"login_password": "PASSWORD",
|
||||
"login_username": "USER@EXAMPLE.COM"
|
||||
},
|
||||
"server_group": 1,
|
||||
"server_credentials": [
|
||||
{
|
||||
"name": "PostgreSQL ${{ matrix.pgver }}",
|
||||
"comment": "PostgreSQL ${{ matrix.pgver }} Server",
|
||||
"db_username": "postgres",
|
||||
"host": "/var/run/postgresql",
|
||||
"db_password": "postgres",
|
||||
"db_port": 59${{ matrix.pgver }},
|
||||
"maintenance_db": "postgres",
|
||||
"sslmode": "prefer",
|
||||
"tablespace_path": "/var/lib/postgresql/tablespaces/${{ matrix.pgver }}",
|
||||
"enabled": true,
|
||||
"default_binary_paths": {
|
||||
"pg": "/usr/lib/postgresql/${{ matrix.pgver }}/bin",
|
||||
"ppas": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"server_update_data": [
|
||||
{
|
||||
"comment": "This is test update comment"
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
|
||||
- name: Upgrade yarn
|
||||
run: |
|
||||
yarn set version berry
|
||||
yarn set version 3
|
||||
|
||||
- name: Build the JS bundle
|
||||
run: |
|
||||
cd web
|
||||
yarn install
|
||||
yarn run bundle
|
||||
|
||||
- name: Run the tests
|
||||
run: |
|
||||
. venv/bin/activate
|
||||
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
|
||||
export DISPLAY=:99
|
||||
cd web
|
||||
python regression/runtests.py --pkg feature_tests
|
||||
|
||||
- name: Archive server log
|
||||
if: success() || failure()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: server-log-pg${{ matrix.pgver }}
|
||||
path: var/pgadmin4.log
|
||||
|
||||
- name: Archive regression log
|
||||
if: success() || failure()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: regression-log-pg${{ matrix.pgver }}
|
||||
path: web/regression/regression.log
|
||||
|
||||
- name: Archive screenshots
|
||||
if: success() || failure()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: screenshots-pg${{ matrix.pgver }}
|
||||
path: web/regression/screenshots
|
||||
if-no-files-found: ignore
|
||||
@@ -13,7 +13,7 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
run-javascript-tests:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -22,11 +22,16 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20.x'
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Upgrade yarn
|
||||
run: |
|
||||
yarn set version berry
|
||||
yarn set version 3
|
||||
|
||||
- name: Install Node modules
|
||||
run: |
|
||||
@@ -36,4 +41,4 @@ jobs:
|
||||
- name: Run the tests
|
||||
run: |
|
||||
cd web
|
||||
yarn run test:karma-once
|
||||
yarn run test:js-once
|
||||
@@ -23,7 +23,7 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
run-python-tests-epas:
|
||||
# Only run if the tests are enabled
|
||||
# TODO: Figure out a way to test for the presence of the secrets instead
|
||||
if: vars.ENABLE_EPAS_TESTS == 'true'
|
||||
@@ -32,12 +32,12 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-22.04, windows-latest]
|
||||
pgver: [11, 12, 13, 14, 15]
|
||||
pgver: [12, 13, 14, 15, 16]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup the EDB APT repo on Linux
|
||||
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
||||
@@ -78,6 +78,12 @@ jobs:
|
||||
icacls "C:\EPAS\${{ matrix.pgver }}\tablespaces" /grant "NETWORK SERVICE":(OI)(CI)F /T
|
||||
shell: cmd
|
||||
|
||||
- name: Add edb_job_scheduler into config file.
|
||||
if: ${{ matrix.os == 'ubuntu-22.04' && matrix.pgver == 16 }}
|
||||
run: |
|
||||
sudo sed -i "s/shared_preload_libraries = '/shared_preload_libraries = '\$libdir\/edb_job_scheduler,/g" /etc/edb-as/${{ matrix.pgver }}/main/postgresql.conf
|
||||
sudo su -c "echo \"edb_job_scheduler.database_list = 'test_dbms_job_scheduler'\" >> /etc/edb-as/${{ matrix.pgver }}/main/postgresql.conf"
|
||||
|
||||
- name: Start PostgreSQL on Linux
|
||||
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
||||
run: |
|
||||
@@ -272,14 +278,14 @@ jobs:
|
||||
|
||||
- name: Archive server log
|
||||
if: success() || failure()
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: server-log-epas${{ matrix.pgver }}
|
||||
name: server-log-epas-${{ matrix.os }}-pg${{ matrix.pgver }}
|
||||
path: var/pgadmin4.log
|
||||
|
||||
- name: Archive regression log
|
||||
if: success() || failure()
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: regression-log-epas${{ matrix.pgver }}
|
||||
name: regression-log-epas-${{ matrix.os }}-pg${{ matrix.pgver }}
|
||||
path: web/regression/regression.log
|
||||
@@ -16,17 +16,17 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
run-python-tests-pg:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-latest, ubuntu-latest, windows-latest]
|
||||
pgver: [11, 12, 13, 14, 15]
|
||||
pgver: [12, 13, 14, 15, 16]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup the PGDG APT repo on Linux
|
||||
if: ${{ matrix.os == 'ubuntu-latest' }}
|
||||
@@ -44,6 +44,7 @@ jobs:
|
||||
if: ${{ matrix.os == 'macos-latest' }}
|
||||
run: |
|
||||
brew install postgresql@${{ matrix.pgver }}
|
||||
echo "/opt/homebrew/opt/postgresql@${{ matrix.pgver }}/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Uninstall PostgreSQL if already present
|
||||
if: ${{ matrix.os == 'windows-latest' }}
|
||||
@@ -57,7 +58,9 @@ jobs:
|
||||
- name: Install platform dependencies on Windows
|
||||
if: ${{ matrix.os == 'windows-latest' }}
|
||||
run: |
|
||||
choco install -y postgresql${{ matrix.pgver }} --params "/Password:postgres /Port:59${{ matrix.pgver }}" --ia "--prefix C:\PostgreSQL\${{ matrix.pgver }} --datadir C:\PostgreSQL\${{ matrix.pgver }}\data --install_runtimes 0 --disable-components pgAdmin,stackbuilder --enable-components server,commandlinetools"
|
||||
FOR /f "delims=" %%F IN ('python tools\get_sb_package.py "https://www.postgresql.org/applications-v2.xml" "postgresql_${{ matrix.pgver }}" "windows-x64"') DO SET INSTALLER_EXE=%%F
|
||||
ECHO Running %INSTALLER_EXE%...
|
||||
%INSTALLER_EXE% --prefix C:\PostgreSQL\${{ matrix.pgver }} --datadir C:\PostgreSQL\${{ matrix.pgver }}\data --serverport 59${{ matrix.pgver }} --superpassword postgres --install_runtimes 0 --mode unattended --unattendedmodeui none --disable-components pgAdmin,stackbuilder --enable-components server,commandlinetools"
|
||||
choco install -y mitkerberos
|
||||
|
||||
REM Ignore error 3010 (reboot required)
|
||||
@@ -73,7 +76,7 @@ jobs:
|
||||
- name: Create the tablespace directory on macOS
|
||||
if: ${{ matrix.os == 'macos-latest' }}
|
||||
run: |
|
||||
mkdir -p /usr/local/var/tablespaces/${{ matrix.pgver }}
|
||||
mkdir -p /opt/homebrew/var/tablespaces/${{ matrix.pgver }}
|
||||
|
||||
- name: Create the tablespace directory on Windows
|
||||
if: ${{ matrix.os == 'windows-latest' }}
|
||||
@@ -101,11 +104,11 @@ jobs:
|
||||
- name: Start PostgreSQL on macOS
|
||||
if: ${{ matrix.os == 'macos-latest' }}
|
||||
run: |
|
||||
echo local all all trust > /usr/local/var/postgresql@${{ matrix.pgver }}/pg_hba.conf
|
||||
sed -i '' "s/#port = 543[0-9]/port = 59${{ matrix.pgver }}/g" /usr/local/var/postgresql@${{ matrix.pgver }}/postgresql.conf
|
||||
echo local all all trust > /opt/homebrew/var/postgresql@${{ matrix.pgver }}/pg_hba.conf
|
||||
sed -i '' "s/#port = 543[0-9]/port = 59${{ matrix.pgver }}/g" /opt/homebrew/var/postgresql@${{ matrix.pgver }}/postgresql.conf
|
||||
brew services restart postgresql@${{ matrix.pgver }}
|
||||
|
||||
until /usr/local/opt/postgresql@${{ matrix.pgver }}/bin/pg_isready -p 59${{ matrix.pgver }} 2>/dev/null; do
|
||||
until /opt/homebrew/opt/postgresql@${{ matrix.pgver }}/bin/pg_isready -p 59${{ matrix.pgver }} 2>/dev/null; do
|
||||
>&2 echo "Postgres is unavailable - sleeping for 2 seconds"
|
||||
sleep 2
|
||||
done
|
||||
@@ -183,10 +186,10 @@ jobs:
|
||||
"db_port": 59${{ matrix.pgver }},
|
||||
"maintenance_db": "postgres",
|
||||
"sslmode": "prefer",
|
||||
"tablespace_path": "${{ matrix.os == 'macos-latest' && format('/usr/local/var/tablespaces/{0}', matrix.pgver) || format('/var/lib/postgresql/tablespaces/{0}', matrix.pgver) }}",
|
||||
"tablespace_path": "${{ matrix.os == 'macos-latest' && format('/opt/homebrew/var/tablespaces/{0}', matrix.pgver) || format('/var/lib/postgresql/tablespaces/{0}', matrix.pgver) }}",
|
||||
"enabled": true,
|
||||
"default_binary_paths": {
|
||||
"pg": "${{ matrix.os == 'macos-latest' && format('/usr/local/opt/postgresql@{0}/bin', matrix.pgver) || format('/usr/lib/postgresql/{0}/bin', matrix.pgver) }}",
|
||||
"pg": "${{ matrix.os == 'macos-latest' && format('/opt/homebrew/opt/postgresql@{0}/bin', matrix.pgver) || format('/usr/lib/postgresql/{0}/bin', matrix.pgver) }}",
|
||||
"ppas": ""
|
||||
}
|
||||
}
|
||||
@@ -289,14 +292,14 @@ jobs:
|
||||
|
||||
- name: Archive server log
|
||||
if: success() || failure()
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: server-log-${{ matrix.os }}-pg${{ matrix.pgver }}
|
||||
path: var/pgadmin4.log
|
||||
|
||||
- name: Archive regression log
|
||||
if: success() || failure()
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: regression-log-${{ matrix.os }}-pg${{ matrix.pgver }}
|
||||
path: web/regression/regression.log
|
||||
|
||||
@@ -18,14 +18,14 @@ concurrency:
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
build:
|
||||
run-sonarqube-scan:
|
||||
# Only run if the project key is set
|
||||
if: vars.SONARQUBE_PROJECT_KEY != null
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
[pycodestyle]
|
||||
ignore = E402,W504,W605
|
||||
ignore = E402,W504,E231
|
||||
max-line-length = 79
|
||||
statistics = True
|
||||
show-source = False
|
||||
|
||||
@@ -13,7 +13,7 @@ Name Version
|
||||
Python 3.6+ PSF https://www.python.org/
|
||||
nw 0.50.2 MIT git://github.com/nwjs/npm-installer.git
|
||||
asynckit 0.4.0 MIT git+https://github.com/alexindigo/asynckit.git
|
||||
axios 1.3.5 MIT https://github.com/axios/axios.git
|
||||
axios 1.4.0 MIT https://github.com/axios/axios.git
|
||||
bootstrap 4.6.2 MIT git+https://github.com/twbs/bootstrap.git
|
||||
combined-stream 1.0.8 MIT git://github.com/felixge/node-combined-stream.git
|
||||
delayed-stream 1.0.0 MIT git://github.com/felixge/node-delayed-stream.git
|
||||
@@ -61,7 +61,6 @@ httpagentparser 1.9.5
|
||||
user-agents 2.2.0 MIT https://github.com/selwin/python-user-agents
|
||||
pywinpty 2.0.* Unknown Unknown
|
||||
Authlib 1.2.0 BSD 3-Clause License https://authlib.org/
|
||||
requests 2.28.2 Apache 2.0 https://requests.readthedocs.io
|
||||
pyotp 2.8.0 MIT License https://github.com/pyotp/pyotp
|
||||
qrcode 7.4.2 BSD https://github.com/lincolnloop/python-qrcode
|
||||
Pillow 9.5.0 HPND https://python-pillow.org
|
||||
@@ -69,9 +68,9 @@ boto3 1.26.121
|
||||
botocore 1.29.121 Apache License 2.0 https://github.com/boto/botocore
|
||||
urllib3 1.26.15 MIT https://urllib3.readthedocs.io/
|
||||
azure-mgmt-rdbms 10.1.0 MIT License https://github.com/Azure/azure-sdk-for-python
|
||||
azure-mgmt-resource 23.0.0 MIT License https://github.com/Azure/azure-sdk-for-python
|
||||
azure-mgmt-resource 23.0.1 MIT License https://github.com/Azure/azure-sdk-for-python
|
||||
azure-mgmt-subscription 3.1.1 MIT License https://github.com/Azure/azure-sdk-for-python
|
||||
azure-identity 1.12.0 MIT License https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity
|
||||
azure-identity 1.13.0 MIT License https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity
|
||||
google-api-python-client 2.86.0 Apache 2.0 https://github.com/googleapis/google-api-python-client/
|
||||
google-auth-oauthlib 1.0.0 Apache 2.0 https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib
|
||||
Werkzeug 2.2.3 BSD-3-Clause https://palletsprojects.com/p/werkzeug/
|
||||
@@ -80,7 +79,7 @@ keyring 23.13.1
|
||||
NOTE: This report was generated using Python 3.11. Full information may not be
|
||||
shown for Python modules that are not required with this version.
|
||||
|
||||
46 dependencies listed.
|
||||
45 dependencies listed.
|
||||
|
||||
Javascript Dependencies
|
||||
=======================
|
||||
@@ -93,47 +92,47 @@ eve 0.5.4
|
||||
jmespath 0.16.0 Apache-2.0 git://github.com/jmespath/jmespath.js
|
||||
jsoneditor 9.10.2 Apache-2.0 https://github.com/josdejong/jsoneditor.git
|
||||
paths-js 0.4.11 Apache-2.0 https://github.com/andreaferretti/paths-js.git
|
||||
rc-dock 3.2.17 Apache-2.0 https://github.com/ticlo/rc-dock.git
|
||||
rc-dock 3.2.18 Apache-2.0 https://github.com/ticlo/rc-dock.git
|
||||
rc-new-window 0.1.13 Apache-2.0 https://github.com/ticlo/rc-new-window.git
|
||||
snapsvg 0.5.1 Apache-2.0 git@github.com:adobe-webplatform/Snap.svg.git
|
||||
spdx-correct 3.2.0 Apache-2.0 https://github.com/jslicense/spdx-correct.js.git
|
||||
validate-npm-package-license 3.0.4 Apache-2.0 https://github.com/kemitchell/validate-npm-package-license.js.git
|
||||
@babel/code-frame 7.21.4 MIT https://github.com/babel/babel.git
|
||||
@babel/compat-data 7.21.9 MIT https://github.com/babel/babel.git
|
||||
@babel/core 7.21.8 MIT https://github.com/babel/babel.git
|
||||
@babel/generator 7.21.9 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-annotate-as-pure 7.18.6 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-compilation-targets 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-create-class-features-plugin 7.21.8 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-environment-visitor 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-function-name 7.21.0 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-hoist-variables 7.18.6 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-member-expression-to-functions 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-module-imports 7.21.4 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-module-transforms 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-optimise-call-expression 7.18.6 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-plugin-utils 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-replace-supers 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-simple-access 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-skip-transparent-expression-wrappers 7.20.0 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-split-export-declaration 7.18.6 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-string-parser 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-validator-identifier 7.19.1 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-validator-option 7.21.0 MIT https://github.com/babel/babel.git
|
||||
@babel/helpers 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/highlight 7.18.6 MIT https://github.com/babel/babel.git
|
||||
@babel/parser 7.21.9 MIT https://github.com/babel/babel.git
|
||||
@babel/code-frame 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/compat-data 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/core 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/generator 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-annotate-as-pure 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-compilation-targets 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-create-class-features-plugin 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-environment-visitor 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-function-name 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-hoist-variables 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-member-expression-to-functions 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-module-imports 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-module-transforms 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-optimise-call-expression 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-plugin-utils 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-replace-supers 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-simple-access 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-skip-transparent-expression-wrappers 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-split-export-declaration 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-string-parser 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-validator-identifier 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helper-validator-option 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/helpers 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/highlight 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/parser 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/plugin-proposal-class-properties 7.18.6 MIT https://github.com/babel/babel.git
|
||||
@babel/plugin-syntax-jsx 7.21.4 MIT https://github.com/babel/babel.git
|
||||
@babel/plugin-transform-react-display-name 7.18.6 MIT https://github.com/babel/babel.git
|
||||
@babel/plugin-transform-react-jsx 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/plugin-transform-react-jsx-development 7.18.6 MIT https://github.com/babel/babel.git
|
||||
@babel/plugin-transform-react-pure-annotations 7.18.6 MIT https://github.com/babel/babel.git
|
||||
@babel/preset-react 7.18.6 MIT https://github.com/babel/babel.git
|
||||
@babel/runtime 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/template 7.21.9 MIT https://github.com/babel/babel.git
|
||||
@babel/traverse 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/types 7.21.5 MIT https://github.com/babel/babel.git
|
||||
@babel/plugin-syntax-jsx 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/plugin-transform-react-display-name 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/plugin-transform-react-jsx 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/plugin-transform-react-jsx-development 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/plugin-transform-react-pure-annotations 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/preset-react 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/runtime 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/template 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/traverse 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@babel/types 7.22.5 MIT https://github.com/babel/babel.git
|
||||
@date-io/core 1.3.13 MIT https://github.com/dmtrKovalenko/date-io
|
||||
@date-io/date-fns 1.3.13 MIT https://github.com/dmtrKovalenko/date-io
|
||||
@emotion/babel-plugin 11.11.0 MIT https://github.com/emotion-js/emotion/tree/main/packages/babel-plugin
|
||||
@@ -142,7 +141,7 @@ validate-npm-package-license 3.0.4
|
||||
@emotion/hash 0.9.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/hash
|
||||
@emotion/is-prop-valid 1.2.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid
|
||||
@emotion/memoize 0.8.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/memoize
|
||||
@emotion/react 11.11.0 MIT https://github.com/emotion-js/emotion/tree/main/packages/react
|
||||
@emotion/react 11.11.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/react
|
||||
@emotion/serialize 1.1.2 MIT https://github.com/emotion-js/emotion/tree/main/packages/serialize
|
||||
@emotion/sheet 1.2.2 MIT https://github.com/emotion-js/emotion/tree/main/packages/sheet
|
||||
@emotion/stylis 0.8.5 MIT https://github.com/emotion-js/emotion/tree/master/packages/stylis
|
||||
@@ -151,18 +150,18 @@ validate-npm-package-license 3.0.4
|
||||
@emotion/use-insertion-effect-with-fallbacks 1.0.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/use-insertion-effect-with-fallbacks
|
||||
@emotion/utils 1.2.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/utils
|
||||
@emotion/weak-memoize 0.3.1 MIT https://github.com/emotion-js/emotion/tree/main/packages/weak-memoize
|
||||
@floating-ui/core 1.2.6 MIT https://github.com/floating-ui/floating-ui.git
|
||||
@floating-ui/dom 1.2.8 MIT https://github.com/floating-ui/floating-ui.git
|
||||
@floating-ui/core 1.3.1 MIT https://github.com/floating-ui/floating-ui.git
|
||||
@floating-ui/dom 1.4.2 MIT https://github.com/floating-ui/floating-ui.git
|
||||
@istanbuljs/schema 0.1.3 MIT git+https://github.com/istanbuljs/schema.git
|
||||
@jridgewell/gen-mapping 0.3.3 MIT https://github.com/jridgewell/gen-mapping
|
||||
@jridgewell/resolve-uri 3.1.0 MIT https://github.com/jridgewell/resolve-uri
|
||||
@jridgewell/set-array 1.1.2 MIT https://github.com/jridgewell/set-array
|
||||
@jridgewell/sourcemap-codec 1.4.14 MIT git+https://github.com/jridgewell/sourcemap-codec.git
|
||||
@jridgewell/sourcemap-codec 1.4.15 MIT git+https://github.com/jridgewell/sourcemap-codec.git
|
||||
@jridgewell/sourcemap-codec 1.4.14 MIT git+https://github.com/jridgewell/sourcemap-codec.git
|
||||
@jridgewell/trace-mapping 0.3.18 MIT git+https://github.com/jridgewell/trace-mapping.git
|
||||
@material-ui/core 4.11.0 MIT https://github.com/mui-org/material-ui.git
|
||||
@material-ui/core 4.12.4 MIT https://github.com/mui-org/material-ui.git
|
||||
@material-ui/icons 4.11.3 MIT https://github.com/mui-org/material-ui.git
|
||||
@material-ui/lab 4.0.0-alpha.58 MIT https://github.com/mui-org/material-ui.git
|
||||
@material-ui/lab 4.0.0-alpha.61 MIT https://github.com/mui-org/material-ui.git
|
||||
@material-ui/pickers 3.3.10 MIT https://github.com/mui-org/material-ui-pickers
|
||||
@material-ui/styles 4.11.5 MIT https://github.com/mui-org/material-ui.git
|
||||
@material-ui/system 4.12.2 MIT https://github.com/mui-org/material-ui.git
|
||||
@@ -178,24 +177,24 @@ validate-npm-package-license 3.0.4
|
||||
@projectstorm/react-diagrams-defaults 6.7.4 MIT https://github.com/projectstorm/react-diagrams.git
|
||||
@projectstorm/react-diagrams-routing 6.7.4 MIT https://github.com/projectstorm/react-diagrams.git
|
||||
@rc-component/portal 1.1.1 MIT https://github.com/react-component/portal.git
|
||||
@rc-component/trigger 1.13.3 MIT https://github.com/react-component/trigger.git
|
||||
@rc-component/trigger 1.13.6 MIT https://github.com/react-component/trigger.git
|
||||
@react-dnd/asap 5.0.2 MIT https://github.com/react-dnd/react-dnd
|
||||
@react-dnd/invariant 4.0.2 MIT https://github.com/react-dnd/react-dnd
|
||||
@react-dnd/shallowequal 4.0.2 MIT https://github.com/react-dnd/react-dnd
|
||||
@remix-run/router 1.6.2 MIT https://github.com/remix-run/react-router
|
||||
@remix-run/router 1.6.3 MIT https://github.com/remix-run/react-router
|
||||
@simonwep/pickr 1.8.2 MIT https://github.com/Simonwep/pickr.git
|
||||
@sindresorhus/is 0.7.0 MIT https://github.com/sindresorhus/is.git
|
||||
@socket.io/component-emitter 3.1.0 MIT https://github.com/socketio/emitter.git
|
||||
@szhsin/react-menu 2.3.4 MIT https://github.com/szhsin/react-menu.git
|
||||
@types/classnames 2.3.1 MIT Unknown
|
||||
@types/minimist 1.2.2 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/node 20.2.4 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/node 20.3.1 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/normalize-package-data 2.4.1 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/parse-json 4.0.0 MIT https://www.github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/prop-types 15.7.5 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/react 18.2.7 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/react 16.14.42 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/react 17.0.60 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/react 18.2.13 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/react 16.14.43 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/react 17.0.62 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/react-dom 17.0.20 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/react-transition-group 4.4.6 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@types/scheduler 0.16.3 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git
|
||||
@@ -224,7 +223,7 @@ brace 0.11.1
|
||||
brace-expansion 1.1.11 MIT git://github.com/juliangruber/brace-expansion.git
|
||||
braces 3.0.2 MIT https://github.com/micromatch/braces.git
|
||||
browserfs 1.4.3 MIT https://github.com/jvilk/BrowserFS.git
|
||||
browserslist 4.21.5 MIT https://github.com/browserslist/browserslist.git
|
||||
browserslist 4.21.9 MIT https://github.com/browserslist/browserslist.git
|
||||
callsites 3.1.0 MIT https://github.com/sindresorhus/callsites.git
|
||||
camelcase 6.3.0 MIT https://github.com/sindresorhus/camelcase.git
|
||||
camelcase-keys 7.0.2 MIT https://github.com/sindresorhus/camelcase-keys.git
|
||||
@@ -232,7 +231,7 @@ camelize 1.0.1
|
||||
caniuse-api 3.0.0 MIT https://github.com/nyalab/caniuse-api.git
|
||||
chalk 2.4.2 MIT https://github.com/chalk/chalk.git
|
||||
chart.js 3.9.1 MIT https://github.com/chartjs/Chart.js.git
|
||||
chartjs-plugin-zoom 1.3.0 MIT https://github.com/chartjs/chartjs-plugin-zoom.git
|
||||
chartjs-plugin-zoom 2.0.1 MIT https://github.com/chartjs/chartjs-plugin-zoom.git
|
||||
classnames 2.3.2 MIT https://github.com/JedWatson/classnames.git
|
||||
closest 0.0.1 MIT https://github.com/ForbesLindesay/closest.git
|
||||
clsx 1.2.1 MIT https://github.com/lukeed/clsx.git
|
||||
@@ -244,7 +243,7 @@ commander 7.2.0
|
||||
concat-map 0.0.1 MIT git://github.com/substack/node-concat-map.git
|
||||
convert-source-map 1.9.0 MIT git://github.com/thlorenz/convert-source-map.git
|
||||
convert-units 2.3.4 MIT git://github.com/ben-ng/convert-units.git
|
||||
core-js 3.30.2 MIT https://github.com/zloirock/core-js.git
|
||||
core-js 3.31.0 MIT https://github.com/zloirock/core-js.git
|
||||
cosmiconfig 7.1.0 MIT git+https://github.com/davidtheclark/cosmiconfig.git
|
||||
css-line-break 2.1.0 MIT git+ssh://git@github.com/niklasvh/css-line-break.git
|
||||
css-to-react-native 3.2.0 MIT git+https://github.com/styled-components/css-to-react-native.git
|
||||
@@ -270,8 +269,8 @@ dnd-core 16.0.1
|
||||
dom-align 1.12.4 MIT git@github.com:yiminghe/dom-align.git
|
||||
dom-helpers 5.2.1 MIT git+https://github.com/react-bootstrap/dom-helpers.git
|
||||
dom-serializer 1.4.1 MIT git://github.com/cheeriojs/dom-renderer.git
|
||||
engine.io-client 6.4.0 MIT https://github.com/socketio/engine.io-client.git
|
||||
engine.io-parser 5.0.7 MIT git@github.com:socketio/engine.io-parser.git
|
||||
engine.io-client 6.5.0 MIT https://github.com/socketio/engine.io-client.git
|
||||
engine.io-parser 5.1.0 MIT git@github.com:socketio/engine.io-parser.git
|
||||
error-ex 1.3.2 MIT https://github.com/qix-/node-error-ex.git
|
||||
escalade 3.1.1 MIT https://github.com/lukeed/escalade.git
|
||||
escape-string-regexp 1.0.5 MIT https://github.com/sindresorhus/escape-string-regexp.git
|
||||
@@ -404,7 +403,7 @@ picomatch 2.3.1
|
||||
picomodal 3.0.0 MIT https://github.com/Nycto/PicoModal.git
|
||||
popper.js 1.16.1-lts MIT git+https://github.com/FezVrasta/popper.js.git
|
||||
popper.js 1.16.1 MIT git+https://github.com/FezVrasta/popper.js.git
|
||||
postcss 8.4.23 MIT https://github.com/postcss/postcss.git
|
||||
postcss 8.4.24 MIT https://github.com/postcss/postcss.git
|
||||
postcss-calc 8.2.4 MIT https://github.com/postcss/postcss-calc.git
|
||||
postcss-colormin 5.3.1 MIT https://github.com/cssnano/cssnano.git
|
||||
postcss-convert-values 5.1.3 MIT https://github.com/cssnano/cssnano.git
|
||||
@@ -442,14 +441,14 @@ raf 3.4.1
|
||||
rc-align 4.0.15 MIT git@github.com:react-component/align.git
|
||||
rc-dropdown 3.6.2 MIT git@github.com:react-component/dropdown.git
|
||||
rc-dropdown 4.0.1 MIT git@github.com:react-component/dropdown.git
|
||||
rc-menu 9.9.1 MIT git@github.com:react-component/menu.git
|
||||
rc-menu 9.9.2 MIT git@github.com:react-component/menu.git
|
||||
rc-menu 9.6.4 MIT git@github.com:react-component/menu.git
|
||||
rc-motion 2.7.3 MIT git@github.com:react-component/motion.git
|
||||
rc-overflow 1.3.0 MIT git@github.com:react-component/overflow.git
|
||||
rc-overflow 1.3.1 MIT git@github.com:react-component/overflow.git
|
||||
rc-resize-observer 1.3.1 MIT git@github.com:react-component/resize-observer.git
|
||||
rc-tabs 11.16.1 MIT git@github.com:react-component/tabs.git
|
||||
rc-trigger 5.3.4 MIT https://github.com/react-component/trigger.git
|
||||
rc-util 5.32.2 MIT git@github.com:react-component/util.git
|
||||
rc-util 5.34.0 MIT git@github.com:react-component/util.git
|
||||
re-resizable 6.9.6 MIT https://github.com/bokuweb/react-resizable-box.git
|
||||
react 17.0.2 MIT https://github.com/facebook/react.git
|
||||
react-aspen 1.2.0 MIT https://github.com/neeksandhu/react-aspen.git
|
||||
@@ -460,16 +459,16 @@ react-dnd-html5-backend 16.0.1
|
||||
react-dom 17.0.2 MIT https://github.com/facebook/react.git
|
||||
react-draggable 4.4.5 MIT https://github.com/react-grid-layout/react-draggable.git
|
||||
react-dropzone 14.2.3 MIT https://github.com/react-dropzone/react-dropzone.git
|
||||
react-is 16.13.1 MIT https://github.com/facebook/react.git
|
||||
react-is 17.0.2 MIT https://github.com/facebook/react.git
|
||||
react-is 16.13.1 MIT https://github.com/facebook/react.git
|
||||
react-resize-detector 9.1.0 MIT git+https://github.com/maslianok/react-resize-detector.git
|
||||
react-rnd 10.4.1 MIT https://github.com/bokuweb/react-rnd.git
|
||||
react-router 6.11.2 MIT https://github.com/remix-run/react-router
|
||||
react-router-dom 6.11.2 MIT https://github.com/remix-run/react-router
|
||||
react-router 6.13.0 MIT https://github.com/remix-run/react-router
|
||||
react-router-dom 6.13.0 MIT https://github.com/remix-run/react-router
|
||||
react-select 5.7.3 MIT https://github.com/JedWatson/react-select/tree/master/packages/react-select
|
||||
react-table 7.8.0 MIT https://github.com/tannerlinsley/react-table
|
||||
react-transition-state 1.1.5 MIT https://github.com/szhsin/react-transition-state.git
|
||||
react-virtualized-auto-sizer 1.0.17 MIT https://github.com/bvaughn/react-virtualized-auto-sizer.git
|
||||
react-virtualized-auto-sizer 1.0.20 MIT https://github.com/bvaughn/react-virtualized-auto-sizer.git
|
||||
react-window 1.8.9 MIT https://github.com/bvaughn/react-window.git
|
||||
read-pkg 6.0.0 MIT https://github.com/sindresorhus/read-pkg.git
|
||||
read-pkg-up 8.0.0 MIT https://github.com/sindresorhus/read-pkg-up.git
|
||||
@@ -487,8 +486,8 @@ scheduler 0.20.2
|
||||
shallowequal 1.1.0 MIT https://github.com/dashed/shallowequal.git
|
||||
slash 4.0.0 MIT https://github.com/sindresorhus/slash.git
|
||||
snapsvg-cjs 0.0.6 MIT git+https://github.com/geelen/Snap.svg-cjs.git
|
||||
socket.io-client 4.6.1 MIT https://github.com/socketio/socket.io-client.git
|
||||
socket.io-parser 4.2.3 MIT https://github.com/socketio/socket.io-parser.git
|
||||
socket.io-client 4.7.0 MIT https://github.com/socketio/socket.io-client.git
|
||||
socket.io-parser 4.2.4 MIT https://github.com/socketio/socket.io-parser.git
|
||||
spdx-expression-parse 3.0.1 MIT https://github.com/jslicense/spdx-expression-parse.js.git
|
||||
split.js 1.6.5 MIT https://github.com/nathancahill/split
|
||||
stable 0.1.8 MIT https://github.com/Two-Screen/stable.git
|
||||
@@ -530,24 +529,24 @@ react-leaflet 3.2.5
|
||||
boolbase 1.0.0 ISC https://github.com/fb55/boolbase
|
||||
css-color-keywords 1.0.0 ISC https://github.com/sonicdoe/css-color-keywords.git
|
||||
css-declaration-sorter 6.4.0 ISC https://github.com/Siilwyn/css-declaration-sorter.git
|
||||
electron-to-chromium 1.4.408 ISC https://github.com/kilian/electron-to-chromium/
|
||||
electron-to-chromium 1.4.437 ISC https://github.com/kilian/electron-to-chromium/
|
||||
fastq 1.15.0 ISC git+https://github.com/mcollina/fastq.git
|
||||
glob-parent 5.1.2 ISC https://github.com/gulpjs/glob-parent.git
|
||||
hosted-git-info 4.1.0 ISC git+https://github.com/npm/hosted-git-info.git
|
||||
jsonrepair 3.1.0 ISC https://github.com/josdejong/jsonrepair.git
|
||||
jsonrepair 3.2.0 ISC https://github.com/josdejong/jsonrepair.git
|
||||
lru-cache 6.0.0 ISC git://github.com/isaacs/node-lru-cache.git
|
||||
lru-cache 5.1.1 ISC git://github.com/isaacs/node-lru-cache.git
|
||||
minimatch 3.1.2 ISC git://github.com/isaacs/minimatch.git
|
||||
picocolors 1.0.0 ISC https://github.com/alexeyraspopov/picocolors.git
|
||||
react-timer-hook 3.0.6 ISC git+https://github.com/amrlabib/react-timer-hook.git
|
||||
semver 6.3.0 ISC https://github.com/npm/node-semver
|
||||
semver 7.5.1 ISC https://github.com/npm/node-semver.git
|
||||
semver 7.5.2 ISC https://github.com/npm/node-semver.git
|
||||
vanilla-picker 2.12.1 ISC https://github.com/Sphinxxxx/vanilla-picker.git
|
||||
yallist 4.0.0 ISC git+https://github.com/isaacs/yallist.git
|
||||
yallist 3.1.1 ISC git+https://github.com/isaacs/yallist.git
|
||||
yaml 1.10.2 ISC https://github.com/eemeli/yaml.git
|
||||
yargs-parser 20.2.9 ISC https://github.com/yargs/yargs-parser.git
|
||||
ace-builds 1.22.0 BSD-3-Clause https://github.com/ajaxorg/ace-builds.git
|
||||
ace-builds 1.23.0 BSD-3-Clause https://github.com/ajaxorg/ace-builds.git
|
||||
hoist-non-react-statics 3.3.2 BSD-3-Clause git://github.com/mridgway/hoist-non-react-statics.git
|
||||
hyphenate-style-name 1.0.4 BSD-3-Clause git+ssh://git@github.com/rexxars/hyphenate-style-name.git
|
||||
istanbul-lib-coverage 3.2.0 BSD-3-Clause git+ssh://git@github.com/istanbuljs/istanbuljs.git
|
||||
@@ -560,7 +559,7 @@ source-map 0.6.1
|
||||
source-map 0.5.7 BSD-3-Clause http://github.com/mozilla/source-map.git
|
||||
source-map-js 1.0.2 BSD-3-Clause https://github.com/7rulnik/source-map-js.git
|
||||
sprintf-js 1.1.2 BSD-3-Clause https://github.com/alexei/sprintf.js.git
|
||||
caniuse-lite 1.0.30001489 CC-BY-4.0 https://github.com/browserslist/caniuse-lite.git
|
||||
caniuse-lite 1.0.30001506 CC-BY-4.0 https://github.com/browserslist/caniuse-lite.git
|
||||
css-select 4.3.0 BSD-2-Clause git://github.com/fb55/css-select.git
|
||||
css-what 6.1.0 BSD-2-Clause https://github.com/fb55/css-what
|
||||
domelementtype 2.3.0 BSD-2-Clause git://github.com/fb55/domelementtype.git
|
||||
@@ -578,7 +577,7 @@ spdx-license-ids 3.0.13
|
||||
mousetrap 1.6.5 Apache-2.0 WITH LLVM-exception git://github.com/ccampbell/mousetrap.git
|
||||
pako 1.0.11 (MIT AND Zlib) https://github.com/nodeca/pako.git
|
||||
spdx-exceptions 2.3.0 CC-BY-3.0 https://github.com/kemitchell/spdx-exceptions.json.git
|
||||
tslib 2.5.2 0BSD https://github.com/Microsoft/tslib.git
|
||||
tslib 2.5.3 0BSD https://github.com/Microsoft/tslib.git
|
||||
tslib 2.3.1 0BSD https://github.com/Microsoft/tslib.git
|
||||
type-fest 1.4.0 (MIT OR CC0-1.0) https://github.com/sindresorhus/type-fest.git
|
||||
webcabin-docker 2.2.5 MIT* Unknown
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
|
||||
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
|
||||
# This software is released under the PostgreSQL Licence
|
||||
#
|
||||
#########################################################################
|
||||
@@ -46,7 +46,10 @@ WORKDIR /pgadmin4/web
|
||||
|
||||
# Build the JS vendor code in the app-builder, and then remove the vendor source.
|
||||
RUN export CPPFLAGS="-DPNG_ARM_NEON_OPT=0" && \
|
||||
npm install -g corepack && \
|
||||
corepack enable && \
|
||||
yarn set version berry && \
|
||||
yarn set version 3 && \
|
||||
yarn install && \
|
||||
yarn run bundle && \
|
||||
rm -rf node_modules \
|
||||
@@ -55,14 +58,15 @@ RUN export CPPFLAGS="-DPNG_ARM_NEON_OPT=0" && \
|
||||
.[^.]* \
|
||||
babel.cfg \
|
||||
webpack.* \
|
||||
karma.conf.js \
|
||||
jest.config.js \
|
||||
babel.* \
|
||||
./pgadmin/static/js/generated/.cache
|
||||
|
||||
#########################################################################
|
||||
# Next, create the base environment for Python
|
||||
#########################################################################
|
||||
|
||||
FROM alpine:latest as env-builder
|
||||
FROM alpine:latest AS env-builder
|
||||
|
||||
# Install dependencies
|
||||
COPY requirements.txt /
|
||||
@@ -90,7 +94,7 @@ RUN apk add --no-cache \
|
||||
# Now, create a documentation build container for the Sphinx docs
|
||||
#########################################################################
|
||||
|
||||
FROM env-builder as docs-builder
|
||||
FROM env-builder AS docs-builder
|
||||
|
||||
# Install Sphinx
|
||||
RUN /venv/bin/python3 -m pip install --no-cache-dir sphinx
|
||||
@@ -114,26 +118,15 @@ RUN rm -rf /pgadmin4/docs/en_US/_build/html/_static/*.png
|
||||
# Create additional builders to get all of the PostgreSQL utilities
|
||||
#########################################################################
|
||||
|
||||
FROM postgres:10-alpine as pg10-builder
|
||||
FROM postgres:11-alpine as pg11-builder
|
||||
FROM postgres:12-alpine as pg12-builder
|
||||
FROM postgres:13-alpine as pg13-builder
|
||||
FROM postgres:14-alpine as pg14-builder
|
||||
FROM postgres:15-alpine as pg15-builder
|
||||
FROM postgres:12-alpine AS pg12-builder
|
||||
FROM postgres:13-alpine AS pg13-builder
|
||||
FROM postgres:14-alpine AS pg14-builder
|
||||
FROM postgres:15-alpine AS pg15-builder
|
||||
FROM postgres:16-alpine AS pg16-builder
|
||||
|
||||
FROM alpine:latest as tool-builder
|
||||
FROM alpine:latest AS tool-builder
|
||||
|
||||
# Copy the PG binaries
|
||||
COPY --from=pg10-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-10/
|
||||
COPY --from=pg10-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-10/
|
||||
COPY --from=pg10-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-10/
|
||||
COPY --from=pg10-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-10/
|
||||
|
||||
COPY --from=pg11-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-11/
|
||||
COPY --from=pg11-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-11/
|
||||
COPY --from=pg11-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-11/
|
||||
COPY --from=pg11-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-11/
|
||||
|
||||
COPY --from=pg12-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-12/
|
||||
COPY --from=pg12-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-12/
|
||||
COPY --from=pg12-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-12/
|
||||
@@ -154,6 +147,11 @@ COPY --from=pg15-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-15/
|
||||
COPY --from=pg15-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-15/
|
||||
COPY --from=pg15-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-15/
|
||||
|
||||
COPY --from=pg16-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-16/
|
||||
COPY --from=pg16-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-16/
|
||||
COPY --from=pg16-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-16/
|
||||
COPY --from=pg16-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-16/
|
||||
|
||||
#########################################################################
|
||||
# Assemble everything into the final container.
|
||||
#########################################################################
|
||||
@@ -165,9 +163,14 @@ COPY --from=env-builder /venv /venv
|
||||
|
||||
# Copy in the tools
|
||||
COPY --from=tool-builder /usr/local/pgsql /usr/local/
|
||||
COPY --from=pg15-builder /usr/local/lib/libpq.so.5.15 /usr/lib/
|
||||
RUN ln -s libpq.so.5.15 /usr/lib/libpq.so.5 && \
|
||||
ln -s libpq.so.5.15 /usr/lib/libpq.so
|
||||
COPY --from=pg16-builder /usr/local/lib/libpq.so.5.16 /usr/lib/
|
||||
COPY --from=pg16-builder /usr/lib/libzstd.so.1.5.6 /usr/lib/
|
||||
COPY --from=pg16-builder /usr/lib/liblz4.so.1.9.4 /usr/lib/
|
||||
|
||||
RUN ln -s libpq.so.5.16 /usr/lib/libpq.so.5 && \
|
||||
ln -s libpq.so.5.16 /usr/lib/libpq.so && \
|
||||
ln -s libzstd.so.1.5.6 /usr/lib/libzstd.so.1 && \
|
||||
ln -s liblz4.so.1.9.4 /usr/lib/liblz4.so.1
|
||||
|
||||
WORKDIR /pgadmin4
|
||||
ENV PYTHONPATH=/pgadmin4
|
||||
@@ -192,20 +195,21 @@ RUN apk add \
|
||||
libjpeg-turbo \
|
||||
shadow \
|
||||
sudo \
|
||||
tzdata \
|
||||
libedit \
|
||||
libldap \
|
||||
libcap && \
|
||||
/venv/bin/python3 -m pip install --no-cache-dir gunicorn && \
|
||||
/venv/bin/python3 -m pip install --no-cache-dir gunicorn==20.1.0 && \
|
||||
find / -type d -name '__pycache__' -exec rm -rf {} + && \
|
||||
useradd -r -u 5050 -g root -s /sbin/nologin pgadmin && \
|
||||
mkdir -p /var/lib/pgadmin && \
|
||||
chown pgadmin:root /var/lib/pgadmin && \
|
||||
mkdir -p /run/pgadmin /var/lib/pgadmin && \
|
||||
chown pgadmin:root /run/pgadmin /var/lib/pgadmin && \
|
||||
chmod g=u /var/lib/pgadmin && \
|
||||
touch /pgadmin4/config_distro.py && \
|
||||
chown pgadmin:root /pgadmin4/config_distro.py && \
|
||||
chmod g=u /pgadmin4/config_distro.py && \
|
||||
chmod g=u /etc/passwd && \
|
||||
setcap CAP_NET_BIND_SERVICE=+eip /usr/bin/python3.11 && \
|
||||
setcap CAP_NET_BIND_SERVICE=+eip /usr/bin/python3.12 && \
|
||||
echo "pgadmin ALL = NOPASSWD: /usr/sbin/postfix start" > /etc/sudoers.d/postfix && \
|
||||
echo "pgadminr ALL = NOPASSWD: /usr/sbin/postfix start" >> /etc/sudoers.d/postfix
|
||||
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
pgAdmin 4
|
||||
=========
|
||||
|
||||
Copyright (C) 2013 - 2023, The pgAdmin Development Team
|
||||
This software is released under the PostgreSQL licence.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2013 - 2024, The pgAdmin Development Team
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose, without fee, and without a written agreement is
|
||||
|
||||
@@ -26,6 +26,7 @@ CALL :CLEAN || EXIT /B 1
|
||||
CALL :CREATE_VIRTUAL_ENV || EXIT /B 1
|
||||
CALL :CREATE_PYTHON_ENV || EXIT /B 1
|
||||
CALL :CREATE_RUNTIME_ENV || EXIT /B 1
|
||||
CALL :GENERATE_SBOM || EXIT /B 1
|
||||
CALL :CREATE_INSTALLER || EXIT /B 1
|
||||
CALL :SIGN_INSTALLER || EXIT /B 1
|
||||
|
||||
@@ -62,13 +63,13 @@ REM Main build sequence Ends
|
||||
set "VCREDIST_FILE=vcredist_x64.exe"
|
||||
|
||||
REM Set additional variables we need
|
||||
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_RELEASE =" %WD%\web\config.py') DO SET APP_MAJOR=%%a
|
||||
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_REVISION =" %WD%\web\config.py') DO SET APP_MINOR=%%a
|
||||
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_SUFFIX =" %WD%\web\config.py') DO SET APP_VERSION_SUFFIX=%%a
|
||||
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_RELEASE =" %WD%\web\version.py') DO SET APP_MAJOR=%%a
|
||||
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_REVISION =" %WD%\web\version.py') DO SET APP_MINOR=%%a
|
||||
FOR /F "tokens=3" %%a IN ('findstr /C:"APP_SUFFIX =" %WD%\web\version.py') DO SET APP_VERSION_SUFFIX=%%a
|
||||
REM remove single quote from the string
|
||||
SET APP_VERSION_SUFFIX=%APP_VERSION_SUFFIX:'=%
|
||||
SET APP_NAME=""
|
||||
FOR /F "tokens=2* DELims='" %%a IN ('findstr /C:"APP_NAME =" web\config.py') DO SET APP_NAME=%%a
|
||||
FOR /F "tokens=2* DELims='" %%a IN ('findstr /C:"APP_NAME =" web\branding.py') DO SET APP_NAME=%%a
|
||||
FOR /f "tokens=1 DELims=." %%G IN ('%PGADMIN_PYTHON_DIR%/python.exe -c "print('%APP_NAME%'.lower().replace(' ', ''))"') DO SET APP_SHORTNAME=%%G
|
||||
SET APP_VERSION=%APP_MAJOR%.%APP_MINOR%
|
||||
SET INSTALLERNAME=%APP_SHORTNAME%-%APP_MAJOR%.%APP_MINOR%-%APP_VERSION_SUFFIX%-x64.exe
|
||||
@@ -217,6 +218,7 @@ REM Main build sequence Ends
|
||||
ECHO Installing javascript dependencies...
|
||||
CD "%BUILDROOT%\web"
|
||||
CALL yarn install || EXIT /B 1
|
||||
CALL npm rebuild || EXIT /B 1
|
||||
|
||||
ECHO Bundling javascript...
|
||||
CALL yarn run bundle || EXIT /B 1
|
||||
@@ -274,10 +276,16 @@ REM Main build sequence Ends
|
||||
REM YARN END
|
||||
|
||||
REM WGET
|
||||
FOR /f "tokens=2 delims='" %%i IN ('yarn info nw ^| findstr "latest: "') DO SET "NW_VERSION=%%i"
|
||||
:GET_NW
|
||||
wget https://dl.nwjs.io/v%NW_VERSION%/nwjs-v%NW_VERSION%-win-x64.zip -O "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64.zip"
|
||||
IF %ERRORLEVEL% NEQ 0 GOTO GET_NW
|
||||
REM Comment out the below line as the latest version having some
|
||||
REM problem https://github.com/nwjs/nw.js/issues/7964, so for the time being
|
||||
REM hardcoded the version to 0.77.0
|
||||
REM FOR /f "tokens=2 delims='" %%i IN ('yarn info nw ^| findstr "latest: "') DO SET "NW_VERSION=%%i"
|
||||
REM :GET_NW
|
||||
REM wget https://dl.nwjs.io/v%NW_VERSION%/nwjs-v%NW_VERSION%-win-x64.zip -O "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64.zip"
|
||||
REM IF %ERRORLEVEL% NEQ 0 GOTO GET_NW
|
||||
|
||||
SET "NW_VERSION=0.77.0"
|
||||
wget https://dl.nwjs.io/v%NW_VERSION%/nwjs-v%NW_VERSION%-win-x64.zip -O "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64.zip"
|
||||
|
||||
tar -C "%TMPDIR%" -xvf "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64.zip" || EXIT /B 1
|
||||
REM WGET END
|
||||
@@ -291,6 +299,15 @@ REM Main build sequence Ends
|
||||
REM WGET END
|
||||
|
||||
MOVE "%BUILDROOT%\runtime\nw.exe" "%BUILDROOT%\runtime\pgAdmin4.exe"
|
||||
ECHO Attempting to sign the pgAdmin4.exe...
|
||||
CALL "%PGADMIN_SIGNTOOL_DIR%\signtool.exe" sign /tr http://timestamp.digicert.com "%BUILDROOT%\runtime\pgAdmin4.exe"
|
||||
IF %ERRORLEVEL% NEQ 0 (
|
||||
ECHO.
|
||||
ECHO ************************************************************
|
||||
ECHO * Failed to sign the pgAdmin4.exe
|
||||
ECHO ************************************************************
|
||||
PAUSE
|
||||
)
|
||||
|
||||
ECHO Replacing executable icon...
|
||||
CALL yarn --cwd "%TMPDIR%" add winresourcer || EXIT /B
|
||||
@@ -298,11 +315,11 @@ REM Main build sequence Ends
|
||||
|
||||
ECHO Staging PostgreSQL components...
|
||||
COPY "%PGADMIN_POSTGRES_DIR%\bin\libpq.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
|
||||
COPY "%PGADMIN_POSTGRES_DIR%\bin\libcrypto-1_1-x64.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
|
||||
COPY "%PGADMIN_POSTGRES_DIR%\bin\libssl-1_1-x64.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
|
||||
COPY "%PGADMIN_POSTGRES_DIR%\bin\libcrypto-*-x64.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
|
||||
COPY "%PGADMIN_POSTGRES_DIR%\bin\libssl-*-x64.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
|
||||
IF EXIST "%PGADMIN_POSTGRES_DIR%\bin\libintl-*.dll" COPY "%PGADMIN_POSTGRES_DIR%\bin\libintl-*.dll" "%BUILDROOT%\runtime" > nul
|
||||
IF EXIST "%PGADMIN_POSTGRES_DIR%\bin\libiconv-*.dll" COPY "%PGADMIN_POSTGRES_DIR%\bin\libiconv-*.dll" "%BUILDROOT%\runtime" > nul
|
||||
COPY "%PGADMIN_POSTGRES_DIR%\bin\zlib.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
|
||||
COPY "%PGADMIN_POSTGRES_DIR%\bin\zlib1.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
|
||||
COPY "%PGADMIN_POSTGRES_DIR%\bin\pg_dump.exe" "%BUILDROOT%\runtime" > nul || EXIT /B 1
|
||||
COPY "%PGADMIN_POSTGRES_DIR%\bin\pg_dumpall.exe" "%BUILDROOT%\runtime" > nul || EXIT /B 1L%
|
||||
COPY "%PGADMIN_POSTGRES_DIR%\bin\pg_restore.exe" "%BUILDROOT%\runtime" > nul || EXIT /B 1
|
||||
@@ -334,7 +351,7 @@ REM Main build sequence Ends
|
||||
DEL /s "%WD%\pkg\win32\installer.iss.in_stage*" > nul
|
||||
|
||||
ECHO Creating windows installer using INNO tool...
|
||||
CALL "%PGADMIN_INNOTOOL_DIR%\ISCC.exe" /q "%WD%\pkg\win32\installer.iss" || EXIT /B 1
|
||||
CALL "%PGADMIN_INNOTOOL_DIR%\ISCC.exe" "%WD%\pkg\win32\installer.iss" || EXIT /B 1
|
||||
|
||||
ECHO Renaming installer...
|
||||
MOVE "%WD%\pkg\win32\Output\pgadmin4-setup.exe" "%DISTROOT%\%INSTALLERNAME%" > nul || EXIT /B 1
|
||||
@@ -345,6 +362,9 @@ REM Main build sequence Ends
|
||||
CD %WD%
|
||||
EXIT /B 0
|
||||
|
||||
:GENERATE_SBOM
|
||||
ECHO Generating SBOM...
|
||||
CALL syft "%BUILDROOT%" -o cyclonedx-json > "%BUILDROOT%\sbom.json"
|
||||
|
||||
:SIGN_INSTALLER
|
||||
ECHO Attempting to sign the installer...
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
#
|
||||
# pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
|
||||
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
|
||||
# This software is released under the PostgreSQL Licence
|
||||
#
|
||||
#########################################################################
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
APP_NAME := $(shell grep ^APP_NAME web/config.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]' | tr -d "'" | awk '{print tolower($$0)}')
|
||||
APP_RELEASE := $(shell grep ^APP_RELEASE web/config.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]')
|
||||
APP_REVISION := $(shell grep ^APP_REVISION web/config.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]')
|
||||
APP_NAME := $(shell grep ^APP_NAME web/branding.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]' | tr -d "'" | awk '{print tolower($$0)}')
|
||||
APP_RELEASE := $(shell grep ^APP_RELEASE web/version.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]')
|
||||
APP_REVISION := $(shell grep ^APP_REVISION web/version.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]')
|
||||
|
||||
#########################################################################
|
||||
# High-level targets
|
||||
@@ -42,7 +42,7 @@ linter:
|
||||
cd web && yarn run linter
|
||||
|
||||
check: install-node bundle linter check-pep8
|
||||
cd web && yarn run karma start --single-run && python regression/runtests.py
|
||||
cd web && yarn run test:js-once && python regression/runtests.py
|
||||
|
||||
check-audit:
|
||||
cd web && yarn run audit
|
||||
@@ -77,10 +77,10 @@ check-feature: install-node bundle
|
||||
cd web && python regression/runtests.py --pkg feature_tests
|
||||
|
||||
check-js: install-node linter
|
||||
cd web && yarn run karma start --single-run
|
||||
cd web && yarn run test:js-once
|
||||
|
||||
check-js-coverage:
|
||||
cd web && yarn run test:karma-coverage
|
||||
cd web && yarn run test:js-coverage
|
||||
|
||||
# Include all clean sub-targets in clean
|
||||
clean: clean-appbundle clean-debian clean-dist clean-docs clean-node clean-pip clean-redhat clean-src
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# pgAdmin 4
|
||||
# pgAdmin 4
|
||||
|
||||
pgAdmin 4 is a rewrite of the popular pgAdmin3 management tool for the
|
||||
PostgreSQL (http://www.postgresql.org) database.
|
||||
PostgreSQL (http://www.postgresql.org) database.
|
||||
|
||||
In the following documentation and examples, *$PGADMIN4_SRC/* is used to denote
|
||||
the top-level directory of a copy of the pgAdmin source tree, either from a
|
||||
@@ -9,9 +9,8 @@ tarball or a git checkout.
|
||||
|
||||
## Architecture
|
||||
|
||||
pgAdmin 4 is written as a web application in Python, using jQuery and Bootstrap
|
||||
for the client side processing and UI. On the server side, Flask is being
|
||||
utilised.
|
||||
pgAdmin 4 is written as a web application with Python(Flask) on the server side
|
||||
and ReactJS, HTML5 with CSS for the client side processing and UI.
|
||||
|
||||
Although developed using web technologies, pgAdmin 4 can be deployed either on
|
||||
a web server using a browser, or standalone on a workstation. The runtime/
|
||||
@@ -22,7 +21,7 @@ which will execute the Python server and display the UI.
|
||||
|
||||
To build the runtime, the following packages must be installed:
|
||||
|
||||
* NodeJS 12+
|
||||
* NodeJS 16+
|
||||
* Yarn
|
||||
|
||||
Change into the runtime directory, and run *yarn install*. This will install the
|
||||
@@ -59,20 +58,20 @@ simple - adapt as required for your distribution:
|
||||
```bash
|
||||
$ python3 -m venv venv
|
||||
```
|
||||
|
||||
|
||||
2. Now activate the virtual environment:
|
||||
|
||||
```bash
|
||||
$ source venv/bin/activate
|
||||
```
|
||||
|
||||
|
||||
3. Some of the components used by pgAdmin require a very recent version of *pip*,
|
||||
so update that to the latest:
|
||||
|
||||
|
||||
```bash
|
||||
$ pip install --upgrade pip
|
||||
```
|
||||
|
||||
|
||||
4. Ensure that a PostgreSQL installation's bin/ directory is in the path (so
|
||||
pg_config can be found for building psycopg3), and install the required
|
||||
packages:
|
||||
@@ -80,20 +79,20 @@ simple - adapt as required for your distribution:
|
||||
```bash
|
||||
(venv) $ PATH=$PATH:/usr/local/pgsql/bin pip install -r $PGADMIN4_SRC/requirements.txt
|
||||
```
|
||||
|
||||
|
||||
If you are planning to run the regression tests, you also need to install
|
||||
additional requirements from web/regression/requirements.txt:
|
||||
|
||||
```bash
|
||||
(venv) $ pip install -r $PGADMIN4_SRC/web/regression/requirements.txt
|
||||
```
|
||||
|
||||
|
||||
5. Create a local configuration file for pgAdmin. Edit
|
||||
$PGADMIN4_SRC/web/config_local.py and add any desired configuration options
|
||||
(use the config.py file as a reference - any settings duplicated in
|
||||
config_local.py will override those in config.py). A typical development
|
||||
configuration may look like:
|
||||
|
||||
|
||||
```python
|
||||
from config import *
|
||||
|
||||
@@ -126,7 +125,7 @@ simple - adapt as required for your distribution:
|
||||
'pgadmin4-server.db'
|
||||
)
|
||||
```
|
||||
|
||||
|
||||
This configuration allows easy switching between server and desktop modes
|
||||
for testing.
|
||||
|
||||
@@ -137,13 +136,13 @@ simple - adapt as required for your distribution:
|
||||
```bash
|
||||
(venv) $ python3 $PGADMIN4_SRC/web/setup.py
|
||||
```
|
||||
|
||||
|
||||
or by starting pgAdmin 4:
|
||||
|
||||
```bash
|
||||
(venv) $ python3 $PGADMIN4_SRC/web/pgAdmin4.py
|
||||
```
|
||||
|
||||
|
||||
Whilst it is possible to automatically run setup in desktop mode by running
|
||||
the runtime, that will not work in server mode as the runtime doesn't allow
|
||||
command line interaction with the setup program.
|
||||
@@ -228,7 +227,7 @@ To build a source tarball:
|
||||
(venv) $ make src
|
||||
```
|
||||
|
||||
To build a PIP Wheel, activate either a Python 3 virtual environment, configured
|
||||
To build a PIP Wheel, activate either a Python 3 virtual environment, configured
|
||||
with all the required packages, and then run:
|
||||
|
||||
```bash
|
||||
@@ -266,7 +265,7 @@ See https://www.pgadmin.org/support/ for support options.
|
||||
|
||||
If you would like to report a security issue with pgAdmin, please email
|
||||
**security (at) pgadmin (dot) org**.
|
||||
|
||||
|
||||
Note that this address should only be used for reporting security issues
|
||||
that you believe you've found in the design or code of pgAdmin, pgAgent,
|
||||
and the pgAdmin website. It should not be used to ask security questions.
|
||||
|
||||
@@ -67,7 +67,7 @@ Use the fields in the *General* tab to specify parameters for the backup:
|
||||
* Use the dropdown listbox next to *Rolename* to specify the role that owns the
|
||||
backup.
|
||||
|
||||
Click the *Data/Objects* tab to continue. Use the fields in the *Data/Objects*
|
||||
Click the *Data Options* tab to continue. Use the fields in the *Data Options*
|
||||
tab to provide options related to data or pgAdmin objects that correspond to *pg_dump*.
|
||||
|
||||
.. image:: images/backup_sections.png
|
||||
@@ -97,7 +97,7 @@ tab to provide options related to data or pgAdmin objects that correspond to *pg
|
||||
* Move the switch next to *Only data* towards right position to limit the back
|
||||
up to data.
|
||||
|
||||
* Move the switch next to *Only schema* to limit the back up to schema-level
|
||||
* Move the switch next to *Only schemas* to limit the back up to schema-level
|
||||
database objects.
|
||||
|
||||
* Move the switch next to *Blobs* towards left position to exclude large
|
||||
@@ -113,10 +113,10 @@ tab to provide options related to data or pgAdmin objects that correspond to *pg
|
||||
* Move the switch next to *Owner* towards right position to exclude commands
|
||||
that set object ownership.
|
||||
|
||||
* Move the switch next to *Privilege* towards right position to exclude
|
||||
* Move the switch next to *Privileges* towards right position to exclude
|
||||
commands that create access privileges.
|
||||
|
||||
* Move the switch next to *Tablespace* towards right position to exclude
|
||||
* Move the switch next to *Tablespaces* towards right position to exclude
|
||||
tablespaces.
|
||||
|
||||
* Move the switch next to *Unlogged table data* towards right position to
|
||||
@@ -126,25 +126,45 @@ tab to provide options related to data or pgAdmin objects that correspond to *pg
|
||||
commands that set the comments. **Note:** This option is visible only for
|
||||
database server greater than or equal to 11.
|
||||
|
||||
Click the *Options* tab to continue. Use these additional fields to specify
|
||||
options like including ddl statements, verbose message or using set session
|
||||
authorization corresponding to *pg_dump* options.
|
||||
* Move the switch next to *Publications* towards right position to exclude
|
||||
publications.
|
||||
|
||||
* Move the switch next to *Subscriptions* towards right position to exclude
|
||||
subscriptions.
|
||||
|
||||
* Move the switch next to *Security labels* towards right position to exclude
|
||||
Security labels.
|
||||
|
||||
* Move the switch next to *Toast compressions* towards right position to exclude
|
||||
Toast compressions. **Note:** This option is visible only for
|
||||
database server greater than or equal to 14.
|
||||
|
||||
* Move the switch next to *Table access methods* towards right position to exclude
|
||||
Table access methods. **Note:** This option is visible only for
|
||||
database server greater than or equal to 15.
|
||||
|
||||
.. image:: images/backup_queries.png
|
||||
:alt: Queries option on backup dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Queries** field box to specify the type of statements
|
||||
that should be included in the backup.
|
||||
Click the *Query Options* tab to continue. Use these additional fields to specify
|
||||
the type of statements that should be included in the backup.
|
||||
|
||||
* Move the switch next to *Use Column Inserts* towards right position to dump
|
||||
the data in the form of INSERT statements and include explicit column
|
||||
names. Please note: this may make restoration from backup slow.
|
||||
|
||||
* Move the switch next to *Use Insert commands* towards right position to
|
||||
* Move the switch next to *Use INSERT commands* towards right position to
|
||||
dump the data in the form of INSERT statements rather than using a COPY
|
||||
command. Please note: this may make restoration from backup slow.
|
||||
|
||||
* Use the *Maximum rows per INSERT command* field to controls the maximum
|
||||
number of rows per INSERT command. **Note:** This option is visible only for
|
||||
database server greater than or equal to 12.
|
||||
|
||||
* Move the switch next to *On conflict do nothing to INSERT command* towards
|
||||
right position to add ON CONFLICT DO NOTHING to INSERT command.
|
||||
This option is not valid unless *Use INSERT commands*, *Use Column INSERTS*
|
||||
or *Maximum rows per INSERT command* is also specified.
|
||||
**Note:** This option is visible only for database server greater than or
|
||||
equal to 12.
|
||||
|
||||
* Move the switch next to *Include CREATE DATABASE statement* towards right
|
||||
position to include a command in the backup that creates a new database
|
||||
when restoring the backup.
|
||||
@@ -154,12 +174,59 @@ authorization corresponding to *pg_dump* options.
|
||||
database object with the same name before recreating the object during a
|
||||
backup.
|
||||
|
||||
* Move the switch next to *Load Via Partition Root* towards right position,
|
||||
* Move the switch next to *Include IF EXISTS clause* towards right
|
||||
position to add an IF EXISTS clause to drop databases and other objects.
|
||||
This option is not valid unless *Include DROP DATABASE statement* is also set.
|
||||
|
||||
.. image:: images/backup_table.png
|
||||
:alt: Backup dialog tables section
|
||||
:align: center
|
||||
|
||||
Click the *Table Options* tab to continue. Use the fields in the *Table Options*
|
||||
tab related to tables that should be included in the backup.
|
||||
|
||||
* Move the switch next to *Use Column INSERTS* towards right position to dump
|
||||
the data in the form of INSERT statements and include explicit column
|
||||
names. Please note: this may make restoration from backup slow.
|
||||
|
||||
* Move the switch next to *Load via partition root* towards right position,
|
||||
so when dumping a COPY or INSERT statement for a partitioned table, target
|
||||
the root of the partitioning hierarchy which contains it rather than the
|
||||
partition itself. **Note:** This option is visible only for database server
|
||||
greater than or equal to 11.
|
||||
|
||||
* Move the switch next to *Enable row security* towards right position to
|
||||
set row_security to on instead, allowing the user to dump the parts of the
|
||||
contents of the table that they have access to. This option is relevant
|
||||
only when dumping the contents of a table which has row security.
|
||||
|
||||
* Use the *Include table(s) and Children* field to dump the tables and any partitions
|
||||
or inheritance child tables of the tables matching the pattern.
|
||||
**Note:** This option is visible only for database server greater than or
|
||||
equal to 16.
|
||||
|
||||
* The Exclude patterns field is utilized to exclude patterns in the following manner:
|
||||
|
||||
* Use the *Table(s)* field to not dump the tables matching the
|
||||
pattern. Multiple patterns can be given separated by space.
|
||||
|
||||
* Use the *Table(s) data* field to not dump data for any tables
|
||||
matching the pattern. Multiple patterns can be given separated by
|
||||
spaces.
|
||||
|
||||
* Use the *Table(s) and children* field to not dump the tables and any
|
||||
partitions or inheritance child tables of the tables matching the pattern.
|
||||
**Note:** This option is visible only for database server greater than or
|
||||
equal to 16.
|
||||
|
||||
* Use the *Table(s) data and children* field to not dump data for the
|
||||
tables and any partitions or inheritance child tables of the tables matching
|
||||
the table pattern. **Note:** This option is visible only for database server
|
||||
greater than or equal to 16.
|
||||
|
||||
Click the *Options* tab to continue. Use the fields in the *Options*
|
||||
tab to provide other backup options.
|
||||
|
||||
.. image:: images/backup_disable.png
|
||||
:alt: Disable option on backup dialog
|
||||
:align: center
|
||||
@@ -167,7 +234,7 @@ authorization corresponding to *pg_dump* options.
|
||||
* Move switches in the **Disable** field box to specify the type of statements
|
||||
that should be excluded from the backup.
|
||||
|
||||
* Move the switch next to *Trigger* (active when creating a data-only backup)
|
||||
* Move the switch next to *Triggers* (active when creating a data-only backup)
|
||||
towards right position to include commands that will disable triggers on the
|
||||
target table while the data is being loaded.
|
||||
|
||||
@@ -182,9 +249,6 @@ authorization corresponding to *pg_dump* options.
|
||||
* Move switches in the **Miscellaneous** field box to specify miscellaneous
|
||||
backup options.
|
||||
|
||||
* Move the switch next to *With OIDs* towards right position to include object
|
||||
identifiers as part of the table data for each table.
|
||||
|
||||
* Move the switch next to *Verbose messages* towards left position to instruct
|
||||
*pg_dump* to exclude verbose messages.
|
||||
|
||||
@@ -195,6 +259,26 @@ authorization corresponding to *pg_dump* options.
|
||||
position to include a statement that will use a SET SESSION AUTHORIZATION
|
||||
command to determine object ownership (instead of an ALTER OWNER command).
|
||||
|
||||
* Use the *Exclude schema* field to not dump schemas whose name matches
|
||||
pattern.
|
||||
|
||||
* Use the *Extra float digits* field to use the specified value when dumping
|
||||
floating-point data, instead of the maximum available precision.
|
||||
|
||||
* Use the *Lock wait timeout* field to do not wait forever to acquire shared
|
||||
table locks at the beginning of the dump. Instead, fail if unable to lock a
|
||||
table within the specified timeout.
|
||||
|
||||
Click the *Objects* tab to continue.
|
||||
|
||||
.. image:: images/backup_object_selection.png
|
||||
:alt: Select objects in backup dialog
|
||||
:align: center
|
||||
|
||||
* Select the objects from tree to take backup of selected objects only.
|
||||
* If Schema is selected then it will take the backup of that selected schema only.
|
||||
* If any Table, View, Materialized View, Sequences, or Foreign Table is selected then it will take the backup of those selected objects.
|
||||
|
||||
When you’ve specified the details that will be incorporated into the pg_dump
|
||||
command:
|
||||
|
||||
@@ -205,4 +289,4 @@ command:
|
||||
|
||||
pgAdmin will run the backup process in background. You can view all the background
|
||||
process with there running status and logs on the :ref:`Processes <processes>`
|
||||
tab
|
||||
tab
|
||||
@@ -24,22 +24,27 @@ Use the fields in the *General* tab to specify the following:
|
||||
connection privileges on the selected server. The role will be used for
|
||||
authentication during the backup.
|
||||
|
||||
Click the *Data Options* tab to continue. Use the fields in the *Data Options*
|
||||
tab to provide options related to data or pgAdmin objects that correspond to *pg_dumpall*.
|
||||
|
||||
.. image:: images/backup_server_objects.png
|
||||
:alt: Type of objects option on backup server dialog
|
||||
:align: center
|
||||
|
||||
Click the *Data/Objects* tab to continue. Use the fields in the *Data/Objects*
|
||||
tab to provide options related to data or pgAdmin objects that correspond to *pg_dump*.
|
||||
|
||||
* Move switches in the **Type of objects** field box to specify details about
|
||||
the type of objects that will be backed up.
|
||||
|
||||
* Move the switch next to *Only data* towards right position to limit the back
|
||||
up to data.
|
||||
|
||||
* Move the switch next to *Only schema* to limit the back up to schema-level
|
||||
* Move the switch next to *Only schemas* to limit the back up to schema-level
|
||||
database objects.
|
||||
|
||||
* Move the switch next to *Only tablespaces* to limit the back
|
||||
up to tablespaces only.
|
||||
|
||||
* Move the switch next to *Only roles* to limit the back up to roles only.
|
||||
|
||||
.. image:: images/backup_server_do_not_save.png
|
||||
:alt: Do not save option on backup server dialog
|
||||
:align: center
|
||||
@@ -50,10 +55,13 @@ tab to provide options related to data or pgAdmin objects that correspond to *pg
|
||||
* Move the switch next to *Owner* towards right position to exclude commands
|
||||
that set object ownership.
|
||||
|
||||
* Move the switch next to *Privilege* towards right position to exclude
|
||||
* Move the switch next to *Role passwords* towards right position to exclude
|
||||
passwords for roles.
|
||||
|
||||
* Move the switch next to *Privileges* towards right position to exclude
|
||||
commands that create access privileges.
|
||||
|
||||
* Move the switch next to *Tablespace* towards right position to exclude
|
||||
* Move the switch next to *Tablespaces* towards right position to exclude
|
||||
tablespaces.
|
||||
|
||||
* Move the switch next to *Unlogged table data* towards right position to
|
||||
@@ -63,26 +71,73 @@ tab to provide options related to data or pgAdmin objects that correspond to *pg
|
||||
commands that set the comments. **Note:** This option is visible only for
|
||||
database server greater than or equal to 11.
|
||||
|
||||
* Move the switch next to *Publications* towards right position to exclude
|
||||
publications.
|
||||
|
||||
* Move the switch next to *Subscriptions* towards right position to exclude
|
||||
subscriptions.
|
||||
|
||||
* Move the switch next to *Security labels* towards right position to exclude
|
||||
Security labels.
|
||||
|
||||
* Move the switch next to *Toast compressions* towards right position to exclude
|
||||
Toast compressions. **Note:** This option is visible only for
|
||||
database server greater than or equal to 14.
|
||||
|
||||
* Move the switch next to *Table access methods* towards right position to exclude
|
||||
Table access methods. **Note:** This option is visible only for
|
||||
database server greater than or equal to 15.
|
||||
|
||||
.. image:: images/backup_server_queries.png
|
||||
:alt: Queries option on backup server dialog
|
||||
:align: center
|
||||
|
||||
* Move switches in the **Queries** field box to specify the type of statements
|
||||
that should be included in the backup.
|
||||
Click the *Query Options* tab to continue. Use these additional fields to specify
|
||||
the type of statements that should be included in the backup.
|
||||
|
||||
* Move the switch next to *Use Column Inserts* towards right position to dump
|
||||
the data in the form of INSERT statements and include explicit column
|
||||
names. Please note: this may make restoration from backup slow.
|
||||
* Move the switch next to *Use INSERT commands* towards right position to
|
||||
dump the data in the form of INSERT statements rather than using a COPY
|
||||
command. Please note: this may make restoration from backup slow.
|
||||
|
||||
* Move the switch next to *Use Insert commands* towards right position to dump
|
||||
the data in the form of INSERT statements rather than using a COPY command.
|
||||
Please note: this may make restoration from backup slow.
|
||||
* Use the *Maximum rows per INSERT command* field to controls the maximum
|
||||
number of rows per INSERT command. **Note:** This option is visible only for
|
||||
database server greater than or equal to 12.
|
||||
|
||||
* Move the switch next to *On conflict do nothing to INSERT command* towards
|
||||
right position to add ON CONFLICT DO NOTHING to INSERT command.
|
||||
This option is not valid unless *Use INSERT commands*, *Use Column INSERTS*
|
||||
or *Maximum rows per INSERT command* is also specified.
|
||||
**Note:** This option is visible only for database server greater than or
|
||||
equal to 12.
|
||||
|
||||
* Move the switch next to *Include DROP DATABASE statement* towards right
|
||||
position to include a command in the backup that will drop any existing
|
||||
database object with the same name before recreating the object during a
|
||||
backup.
|
||||
|
||||
* Move the switch next to *Include IF EXISTS clause* towards right
|
||||
position to add an IF EXISTS clause to drop databases and other objects.
|
||||
This option is not valid unless *Include DROP DATABASE statement* is also set.
|
||||
|
||||
.. image:: images/backup_server_table.png
|
||||
:alt: Backup dialog tables section
|
||||
:align: center
|
||||
|
||||
Click the *Table Options* tab to continue. Use the fields in the *Table Options*
|
||||
tab related to tables that should be included in the backup.
|
||||
|
||||
* Move the switch next to *Use Column INSERTS* towards right position to dump
|
||||
the data in the form of INSERT statements and include explicit column
|
||||
names. Please note: this may make restoration from backup slow.
|
||||
|
||||
* Move the switch next to *Load via partition root* towards right position,
|
||||
so when dumping a COPY or INSERT statement for a partitioned table, target
|
||||
the root of the partitioning hierarchy which contains it rather than the
|
||||
partition itself. **Note:** This option is visible only for database server
|
||||
greater than or equal to 11.
|
||||
|
||||
Click the *Options* tab to continue. Use the fields in the *Options*
|
||||
tab to provide other backup options.
|
||||
|
||||
.. image:: images/backup_server_disable.png
|
||||
:alt: Disable option on backup server dialog
|
||||
@@ -91,7 +146,7 @@ tab to provide options related to data or pgAdmin objects that correspond to *pg
|
||||
* Move switches in the **Disable** field box to specify the type of statements
|
||||
that should be excluded from the backup.
|
||||
|
||||
* Move the switch next to *Trigger* (active when creating a data-only backup)
|
||||
* Move the switch next to *Triggers* (active when creating a data-only backup)
|
||||
towards right position to include commands that will disable triggers on the
|
||||
target table while the data is being loaded.
|
||||
|
||||
@@ -106,11 +161,8 @@ tab to provide options related to data or pgAdmin objects that correspond to *pg
|
||||
* Move switches in the **Miscellaneous** field box to specify miscellaneous
|
||||
backup options.
|
||||
|
||||
* Move the switch next to *With OIDs* towards right position to include object
|
||||
identifiers as part of the table data for each table.
|
||||
|
||||
* Move the switch next to *Verbose messages* towards left position to instruct
|
||||
*pg_dump* to exclude verbose messages.
|
||||
*pg_dumpall* to exclude verbose messages.
|
||||
|
||||
* Move the switch next to *Force double quotes on identifiers* towards right
|
||||
position to force the quoting of all identifiers.
|
||||
@@ -119,9 +171,24 @@ tab to provide options related to data or pgAdmin objects that correspond to *pg
|
||||
position to include a statement that will use a SET SESSION AUTHORIZATION
|
||||
command to determine object ownership (instead of an ALTER OWNER command).
|
||||
|
||||
Click the *Backup* button to build and execute a command based on your
|
||||
selections; click the *Cancel* button to exit without saving work.
|
||||
* Use the *Exclude database* field to not dump databases whose name matches
|
||||
pattern.
|
||||
|
||||
* Use the *Extra float digits* field to use the specified value when dumping
|
||||
floating-point data, instead of the maximum available precision.
|
||||
|
||||
* Use the *Lock wait timeout* field to do not wait forever to acquire shared
|
||||
table locks at the beginning of the dump. Instead, fail if unable to lock a
|
||||
table within the specified timeout.
|
||||
|
||||
When you’ve specified the details that will be incorporated into the pg_dumpall
|
||||
command:
|
||||
|
||||
* Click the *Backup* button to build and execute a command that builds a backup
|
||||
based on your selections on the *Backup Server* dialog.
|
||||
|
||||
* Click the *Cancel* button to exit without saving work.
|
||||
|
||||
pgAdmin will run the backup process in background. You can view all the background
|
||||
process with there running status and logs on the :ref:`Processes <processes>`
|
||||
tab
|
||||
tab
|
||||
@@ -14,7 +14,7 @@ root = os.path.realpath(
|
||||
|
||||
if sys.path[0] != root:
|
||||
sys.path.insert(0, root)
|
||||
|
||||
import config
|
||||
from pgadmin.utils import PgAdminModule
|
||||
|
||||
target = open('code_snippets.rst', 'w')
|
||||
|
||||
@@ -8,6 +8,7 @@ Use *Clear Saved Password* functionality to clear the saved password for the
|
||||
database server.
|
||||
|
||||
.. image:: images/clear_saved_password.png
|
||||
:alt: Clear saved password
|
||||
:align: center
|
||||
|
||||
*Clear Saved Password* shows in the context menu for the selected server as well
|
||||
@@ -17,6 +18,7 @@ Use *Clear SSH Tunnel Password* functionality to clear the saved password of SSH
|
||||
Tunnel to connect to the database server.
|
||||
|
||||
.. image:: images/clear_tunnel_password.png
|
||||
:alt: Clear SSH tunnel password
|
||||
:align: center
|
||||
|
||||
*Clear SSH Tunnel Password* shows in the context menu for the selected server as
|
||||
|
||||
@@ -66,6 +66,8 @@ details.
|
||||
|
||||
* Use the *Volume IOPS* field to specify the storage IOPS. This field is specific to AWS.
|
||||
|
||||
* Use the *Disk throughput* field to specify the disk throughput. This field is specific to AWS.
|
||||
|
||||
|
||||
.. image:: images/cloud_biganimal_database.png
|
||||
:alt: Cloud Deployment Provider
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
**********************
|
||||
|
||||
The bulk of pgAdmin is a Python web application written using the Flask framework
|
||||
on the backend, and HTML5 with CSS3, Bootstrap and jQuery on the front end. A
|
||||
on the backend, and HTML5 with CSS3,ReactJS on the front end. A
|
||||
desktop runtime is also included for users that prefer a desktop application to
|
||||
a web application, which is written using NWjs (Node Webkit).
|
||||
|
||||
@@ -207,8 +207,7 @@ Front End
|
||||
|
||||
pgAdmin uses javascript extensively for the front-end implementation. It uses
|
||||
require.js to allow the lazy loading (or, say load only when required),
|
||||
bootstrap and MaterialUI for UI look and feel, React for generating
|
||||
properties/create dialog for selected node. We have
|
||||
ReactJS with CSS and MaterialUI for UI look and feel. We have
|
||||
divided each module in small chunks as much as possible. Not all javascript
|
||||
modules are required to be loaded (i.e. loading a javascript module for
|
||||
database will make sense only when a server node is loaded completely.) Please
|
||||
|
||||
@@ -16,7 +16,7 @@ review process for any changes submitted for inclusion in pgAdmin.
|
||||
bulk updates every year). The start date should always be 2013, and the end year
|
||||
the current year, e.g.
|
||||
|
||||
Copyright (C) 2013 - 2023, The pgAdmin Development Team
|
||||
Copyright (C) 2013 - 2024, The pgAdmin Development Team
|
||||
|
||||
* Ensure there's a blank line immediately following any copyright headers.
|
||||
|
||||
|
||||
@@ -22,14 +22,12 @@ purpose or how it works if not obvious from a quick review of the code itself.
|
||||
CSS 3
|
||||
*****
|
||||
|
||||
CSS3 is used for styling and layout throughout the application. Extensive use is
|
||||
made of the Bootstrap Framework to aid in that process, however additional
|
||||
styles must still be created from time to time.
|
||||
CSS3 is used for styling and layout throughout the application.
|
||||
|
||||
Most custom styling comes from individual modules which may advertise static
|
||||
stylesheets to be included in the module that is loading them via hooks.
|
||||
|
||||
Styling overrides (for example, to alter the Bootstrap look and feel) will
|
||||
Styling overrides (for example, to alter the look and feel) will
|
||||
typically be found in the **overrides.css** file in the main static file
|
||||
directory for the application.
|
||||
|
||||
@@ -64,7 +62,7 @@ All HTML must be HTML 5 compliant.
|
||||
Javascript
|
||||
**********
|
||||
|
||||
Client-side code is written in Javascript using jQuery and various plugins.
|
||||
Client-side code is written in Javascript using ReactJS and various plugins.
|
||||
Whilst much of the code is rendered from static files, there is also code that
|
||||
is rendered from templates using Jinja2 (often to inject the users settings) or
|
||||
constructed on the fly from module hooks.
|
||||
@@ -122,7 +120,7 @@ with the required file header is shown below::
|
||||
#
|
||||
# pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
|
||||
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
|
||||
# This software is released under the PostgreSQL Licence
|
||||
#
|
||||
##########################################################################
|
||||
|
||||
@@ -50,6 +50,16 @@ settings:
|
||||
* Use the *LC_CTYPE* field to specify a locale with specified character
|
||||
classification. The locale must be applicable to the current database encoding.
|
||||
(See CREATE DATABASE for details.)
|
||||
* Use the drop-down listbox next to *Locale Provider* to select a locale services associated
|
||||
with the collation. Possible values are: icu, libc. libc is the default.
|
||||
* Move the switch next to *Deterministic* to *YES* to specify whether the collation should use
|
||||
deterministic comparisons. By default, this option is set to true. In a
|
||||
deterministic comparison, strings that are not byte-wise equal are considered
|
||||
unequal, even if they are considered logically equal in the comparison.
|
||||
* Use the *Rules* field to specify a rules for customizing the behavior of the collation.
|
||||
It includes considerations such as character ordering, case sensitivity, and accent
|
||||
sensitivity.
|
||||
* Use the *Version* field to specify version string to store with the collation object.
|
||||
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
@@ -39,6 +39,12 @@ are disabled if inapplicable.)
|
||||
a text value.
|
||||
* Use the drop-down listbox next to *Collation* to apply a collation setting to
|
||||
the column.
|
||||
* Use the drop-down listbox next to *Compression* to set the compression method
|
||||
for the column. Compression is supported only for variable-width data types,
|
||||
and is used only when the column's storage mode is main or extended. This
|
||||
option is available from v14 and above.
|
||||
* Use the drop-down listbox next to *Storage* to set the storage mode for the
|
||||
column. This option is available from v16 and above.
|
||||
|
||||
Click the *Constraints* tab to continue.
|
||||
|
||||
|
||||
@@ -27,8 +27,8 @@ The configuration files are as follows:
|
||||
needed.
|
||||
|
||||
* ``config_local.py``: This file is read after ``config_distro.py`` and is intended
|
||||
for end users to change any default or packaging specific settings that they may
|
||||
wish to adjust to meet local preferences or standards.This file is optional,
|
||||
for the owner of the installation to change any default or packaging specific settings
|
||||
that they may wish to adjust to meet local preferences or standards.This file is optional,
|
||||
and may be created by users in the same directory as ``config.py`` if
|
||||
needed.
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ and select *Connect Server...* from the context menu.
|
||||
|
||||
.. image:: images/connect_to_server.png
|
||||
:alt: Connect to server dialog
|
||||
:align: center
|
||||
|
||||
Provide authentication information for the selected server:
|
||||
|
||||
@@ -26,6 +27,7 @@ Tunnel and Database server passwords if not already saved.
|
||||
|
||||
.. image:: images/connect_to_tunneled_server.png
|
||||
:alt: Connect to server dialog
|
||||
:align: center
|
||||
|
||||
Provide authentication information for the selected server:
|
||||
|
||||
|
||||
@@ -26,9 +26,9 @@ where *<tag name>* is one of the following:
|
||||
+==========+===============================================================================+
|
||||
| latest | The most recent release. |
|
||||
+----------+-------------------------------------------------------------------------------+
|
||||
| 6.14 | A specific version (6.14 in this case). |
|
||||
| 8.4 | A specific version (8.4 in this case). |
|
||||
+----------+-------------------------------------------------------------------------------+
|
||||
| 6 | the latest release of a specific major version (major version 6 in this case).|
|
||||
| 8 | the latest release of a specific major version (major version 8 in this case).|
|
||||
+----------+-------------------------------------------------------------------------------+
|
||||
| snapshot | The latest nightly test build. |
|
||||
+----------+-------------------------------------------------------------------------------+
|
||||
@@ -42,23 +42,22 @@ maintenance functions to be executed. Multiple versions are included in the
|
||||
following directories to allow use with different versions of the database
|
||||
server:
|
||||
|
||||
* PostgreSQL 10: */usr/local/pgsql-10*
|
||||
* PostgreSQL 11: */usr/local/pgsql-11*
|
||||
* PostgreSQL 12: */usr/local/pgsql-12*
|
||||
* PostgreSQL 13: */usr/local/pgsql-13*
|
||||
* PostgreSQL 14: */usr/local/pgsql-14*
|
||||
* PostgreSQL 15: */usr/local/pgsql-15*
|
||||
* PostgreSQL 16: */usr/local/pgsql-16*
|
||||
|
||||
The default binary paths set in the container are as follows:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
DEFAULT_BINARY_PATHS = {
|
||||
'pg-16': '/usr/local/pgsql-16',
|
||||
'pg-15': '/usr/local/pgsql-15',
|
||||
'pg-14': '/usr/local/pgsql-14',
|
||||
'pg-13': '/usr/local/pgsql-13',
|
||||
'pg-12': '/usr/local/pgsql-12',
|
||||
'pg-11': '/usr/local/pgsql-11',
|
||||
'pg-10': '/usr/local/pgsql-10'
|
||||
'pg-12': '/usr/local/pgsql-12'
|
||||
}
|
||||
|
||||
this may be changed in the :ref:`preferences`.
|
||||
@@ -133,7 +132,15 @@ than using the default.
|
||||
|
||||
Override the default file path for the server definition list. See the
|
||||
/pgadmin4/servers.json mapped file below for more information. See the format
|
||||
of the `JSON file <https://www.pgadmin.org/docs/pgadmin4/latest/import_export_servers.html#json-format>`_.
|
||||
of the `Servers JSON file <https://www.pgadmin.org/docs/pgadmin4/latest/import_export_servers.html#json-format>`_.
|
||||
|
||||
**PGADMIN_PREFERENCES_JSON_FILE**
|
||||
|
||||
*Default: /pgadmin4/preferences.json*
|
||||
|
||||
Override the default file path for the preferences customization at the container creation. See the
|
||||
/pgadmin4/preferences.json mapped file below for more information. See the format
|
||||
of the `Preferences JSON file <https://www.pgadmin.org/docs/pgadmin4/latest/preferences.html#json-format>`_.
|
||||
|
||||
**GUNICORN_ACCESS_LOGFILE**
|
||||
|
||||
@@ -229,6 +236,14 @@ pgAdmin in the container. Note that server definitions are only loaded on first
|
||||
launch, i.e. when the configuration database is created, and not on subsequent
|
||||
launches using the same configuration database.
|
||||
|
||||
**/pgadmin4/preferences.json**
|
||||
|
||||
If this file is mapped, preferences defined in it will be updated at launch
|
||||
time. This allows customization of preferences settings into the instance of
|
||||
pgAdmin in the container. Note that preferences are only set on first
|
||||
launch, i.e. when the configuration database is created, and not on subsequent
|
||||
launches using the same configuration database.
|
||||
|
||||
**/certs/server.cert**
|
||||
|
||||
If TLS is enabled, this file will be used as the servers TLS certificate.
|
||||
|
||||
@@ -19,6 +19,9 @@ Use the fields in the *General* tab to identify the database:
|
||||
|
||||
* Use the *Database* field to add a descriptive name for the database. The name
|
||||
will be displayed in the *pgAdmin* tree control.
|
||||
* Use the *OID* field to specify the object identifier to be used for the new
|
||||
database. Users can specify the value greater than 16383. This option is available
|
||||
from v15 and above.
|
||||
* Select the owner of the database from the drop-down listbox in the *Owner*
|
||||
field.
|
||||
* Store notes about the database in the *Comment* field.
|
||||
@@ -38,11 +41,22 @@ Use the *Definition* tab to set properties for the database:
|
||||
* Select a tablespace from the drop-down listbox in the *Tablespace* field. The
|
||||
selected tablespace will be the default tablespace used to contain database
|
||||
objects.
|
||||
* Select the strategy from the drop-down listbox in the *Strategy* field while
|
||||
creating a new database. This option is available from v15 and above.
|
||||
* Select the locale provider from the drop-down listbox in the *Locale Provider*
|
||||
field to set the default collation for this database. Possible values are: icu, libc.
|
||||
This option is available from v15 and above.
|
||||
* Select the collation order from the drop-down listbox in the *Collation* field.
|
||||
* Select the character classification from the drop-down listbox in the
|
||||
*Character Type* field. This affects the categorization of characters, e.g.
|
||||
lower, upper and digit. The default, or a blank field, uses the character
|
||||
classification of the template database.
|
||||
* Select the icu locale from the drop-down listbox in the *ICU Locale* to
|
||||
specifies the ICU locale ID if the ICU locale provider is used.
|
||||
This option is available from v15 and above.
|
||||
* Specify the icu rules in the *ICU Rules* field as additional collation
|
||||
rules to customize the behavior of the default collation of this database.
|
||||
This option is available from v16 and above.
|
||||
* Specify a connection limit in the *Connection Limit* field to configure the
|
||||
maximum number of connection requests. The default value (*-1*) allows
|
||||
unlimited connections to the database.
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
.. _dbms_job:
|
||||
|
||||
*****************
|
||||
`DBMS Job`:index:
|
||||
*****************
|
||||
|
||||
Use the *DBMS Job* dialog to create a DBMS Job.
|
||||
|
||||
.. image:: images/dbms_job_general.png
|
||||
:alt: DBMS Job dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to create job:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the job. The name will
|
||||
be displayed in the *pgAdmin* object explorer.
|
||||
* Use the *Enabled?* switch to indicate that job should be enabled or disabled.
|
||||
* Use the *Job Type* field to select the type of the job. Type could be SELF-CONTAINED or PRE-DEFINED.
|
||||
If the Job Type is Self-Contained you need to specify the action and repeat interval in the Action and Repeat tabs respectively.
|
||||
If the Job Type is Pre-Defined you need to specify the existing Program and Schedule names in the Pre-Defined tab.
|
||||
* Store notes about the job in the *Comment* field.
|
||||
|
||||
Click the *Action* tab to continue.
|
||||
|
||||
.. image:: images/dbms_job_action.png
|
||||
:alt: DBMS Job dialog action tab
|
||||
:align: center
|
||||
|
||||
Use the *Action* tab to select the action for the job. This tab is only enabled when the job type is 'SELF-CONTAINED'.
|
||||
|
||||
* Use the *Type* field to select the type of the job. Type could be PLSQL BLOCK or STORED PROCEDURE.
|
||||
* Use the *Procedure* field to select an existing procedure that executes when the job is invoked.
|
||||
* *Number of Arguments* field is read-only and indicates the quantity of arguments necessary for the chosen procedure.
|
||||
|
||||
Click the *Code* tab to continue.
|
||||
|
||||
.. image:: images/dbms_job_code.png
|
||||
:alt: DBMS Job dialog code tab
|
||||
:align: center
|
||||
|
||||
* Use the *Code* field to write the code that executes when the job is invoked.
|
||||
This tab is only enabled when the job type is 'SELF-CONTAINED' and type of the action is set to 'PLSQL BLOCK'.
|
||||
|
||||
|
||||
Click the *Arguments* tab to continue.
|
||||
|
||||
.. image:: images/dbms_job_arguments.png
|
||||
:alt: DBMS Job dialog arguments tab
|
||||
:align: center
|
||||
|
||||
* *Arguments* tab outlines the arguments required by the selected procedure in the 'Action' tab. This tab is only enabled when the job type is 'SELF-CONTAINED'.
|
||||
|
||||
|
||||
Click the *Repeat* tab to continue.
|
||||
|
||||
.. image:: images/dbms_job_repeat.png
|
||||
:alt: DBMS Job dialog repeat tab
|
||||
:align: center
|
||||
|
||||
Use the *Repeat* tab to select the repeat interval for the job. This tab is only enabled when the job type is 'SELF-CONTAINED'.
|
||||
|
||||
* Use the calendar selector in the *Start* field to specify the starting date
|
||||
and time for the job.
|
||||
* Use the calendar selector in the *End* field to specify the ending date and
|
||||
time for the job.
|
||||
* Use the *Frequency* field to select the frequency. Frequency is one of the following:
|
||||
YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY.
|
||||
* Use the *Date* field to select the date on which job will execute.Date is YYYYMMDD.
|
||||
* Use the *Months* field to select the months in which the job will execute.
|
||||
* Use the *Week Days* field to select the days on which the job will execute.
|
||||
* Use the *Month Days* field to select the numeric days on which the job will
|
||||
execute.
|
||||
* Use the *Hours* field to select the hour at which the job will execute.
|
||||
* Use the *Minutes* field to select the minute at which the job will execute.
|
||||
|
||||
Click the *Pre-Defined* tab to continue.
|
||||
|
||||
.. image:: images/dbms_job_predefined.png
|
||||
:alt: DBMS Job dialog predefined tab
|
||||
:align: center
|
||||
|
||||
Use the *Pre-Defined* tab to select the existing program and schedule to create the job.
|
||||
This tab is only enabled when the job type is 'PRE-DEFINED'.
|
||||
|
||||
* Use the *Program Name* field to select the existing program.
|
||||
* Use the *Schedule Name* field to select an existing schedule.
|
||||
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *DBMS Job* dialog generate a SQL command (see an example below).
|
||||
Use the *SQL* tab for review; revisit or switch tabs to make any changes to the
|
||||
SQL command.
|
||||
|
||||
**Example**
|
||||
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *DBMS Job* dialog:
|
||||
|
||||
.. image:: images/dbms_job_sql.png
|
||||
:alt: DBMS Job dialog sql tab
|
||||
:align: center
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Help* button (?) to access dialog help.
|
||||
* Click the *Save* button to save work.
|
||||
* Click the *Close* button to exit without saving work.
|
||||
* Click the *Reset* button to restore configuration parameters.
|
||||
@@ -0,0 +1,45 @@
|
||||
.. _dbms_job_scheduler:
|
||||
|
||||
********************************
|
||||
`Using EDB Job Scheduler`:index:
|
||||
********************************
|
||||
|
||||
In the past versions of EPAS, DBMS_SCHEDULER or DBMS_JOBS required the configuration
|
||||
of pgAgent, an essential service for their functionality. Maintaining pgAgent in a
|
||||
production environment is cumbersome. The need for correct configuration, regular updates,
|
||||
and ensuring the service’s health added complexity.
|
||||
|
||||
EPAS 16 revolutionizes job scheduling by eliminating the need for the pgAgent component.
|
||||
The new version introduces EDB Job Scheduler which is an extension that runs the job scheduler
|
||||
as a background process for the DBMS_SCHEDULER and DBMS_JOB packages.
|
||||
|
||||
The EDB Job Scheduler has a scheduler process that starts when the database cluster starts.
|
||||
To start the scheduler process, load the EDB Job Scheduler extension using the **shared_preload_libraries**
|
||||
parameter. After you load the extension, create the extension **'edb_job_scheduler'** and **'dbms_scheduler'** using
|
||||
the CREATE EXTENSION command. The database in which you're creating the extension must be listed in the
|
||||
**edb_job_scheduler.database_list** parameter.
|
||||
|
||||
Instructions for configuring the EDB Job Scheduler can be found in the
|
||||
`Configuring EDB Job Scheduler <https://www.enterprisedb.com/docs/pg_extensions/edb_job_scheduler/configuring/>`_.
|
||||
|
||||
.. image:: images/dbms_job_scheduler.png
|
||||
:alt: DBMS Job Scheduler Object Browser
|
||||
:align: center
|
||||
|
||||
Check the status of all the jobs
|
||||
********************************
|
||||
|
||||
To check the running status of all the jobs select the 'DBMS Job Scheduler' collection node from the object
|
||||
explorer and select the Properties tab.
|
||||
|
||||
.. image:: images/dbms_job_details.png
|
||||
:alt: DBMS Job Details
|
||||
:align: center
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
dbms_job
|
||||
dbms_program
|
||||
dbms_schedule
|
||||
@@ -0,0 +1,71 @@
|
||||
.. _dbms_program:
|
||||
|
||||
*********************
|
||||
`DBMS Program`:index:
|
||||
*********************
|
||||
|
||||
Use the *DBMS Program* dialog to create a DBMS Program.
|
||||
|
||||
.. image:: images/dbms_program_general.png
|
||||
:alt: DBMS Program dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to create program:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the program. The name will
|
||||
be displayed in the *pgAdmin* object explorer.
|
||||
* Use the *Enabled?* switch to indicate that program should be enabled or disabled.
|
||||
* Store notes about the program in the *Comment* field.
|
||||
|
||||
Click the *Action* tab to continue.
|
||||
|
||||
.. image:: images/dbms_program_action.png
|
||||
:alt: DBMS Program dialog action tab
|
||||
:align: center
|
||||
|
||||
Use the *Action* tab to select the action for the program:
|
||||
|
||||
* Use the *Type* field to select the type of the program. Type could be PLSQL BLOCK or STORED PROCEDURE.
|
||||
* Use the *Procedure* field to select an existing procedure that executes when the program is invoked.
|
||||
* *Number of Arguments* field is read-only and indicates the quantity of arguments necessary for the chosen procedure.
|
||||
|
||||
Click the *Code* tab to continue.
|
||||
|
||||
.. image:: images/dbms_program_code.png
|
||||
:alt: DBMS Program dialog code tab
|
||||
:align: center
|
||||
|
||||
* Use the *Code* field to write the code that executes when the program is invoked.
|
||||
This tab is only enabled when the type of the program is set to 'PLSQL BLOCK'.
|
||||
|
||||
|
||||
Click the *Arguments* tab to continue.
|
||||
|
||||
.. image:: images/dbms_program_arguments.png
|
||||
:alt: DBMS Program dialog arguments tab
|
||||
:align: center
|
||||
|
||||
* *Arguments* tab is a read-only section that outlines the arguments required by the selected procedure in the 'Action' tab.
|
||||
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *DBMS Program* dialog generate a SQL command (see an example below).
|
||||
Use the *SQL* tab for review; revisit or switch tabs to make any changes to the
|
||||
SQL command.
|
||||
|
||||
**Example**
|
||||
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *DBMS Program* dialog:
|
||||
|
||||
.. image:: images/dbms_program_sql.png
|
||||
:alt: DBMS Program dialog sql tab
|
||||
:align: center
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Help* button (?) to access dialog help.
|
||||
* Click the *Save* button to save work.
|
||||
* Click the *Close* button to exit without saving work.
|
||||
* Click the *Reset* button to restore configuration parameters.
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
.. _dbms_schedule:
|
||||
|
||||
**********************
|
||||
`DBMS Schedule`:index:
|
||||
**********************
|
||||
|
||||
Use the *DBMS Schedule* dialog to create a DBMS Schedule.
|
||||
|
||||
.. image:: images/dbms_schedule_general.png
|
||||
:alt: DBMS Schedule dialog general tab
|
||||
:align: center
|
||||
|
||||
Use the fields in the *General* tab to create schedule:
|
||||
|
||||
* Use the *Name* field to add a descriptive name for the schedule. The name will
|
||||
be displayed in the *pgAdmin* object explorer.
|
||||
* Store notes about the schedule in the *Comment* field.
|
||||
|
||||
Click the *Repeat* tab to continue.
|
||||
|
||||
.. image:: images/dbms_schedule_repeat.png
|
||||
:alt: DBMS Schedule dialog repeat tab
|
||||
:align: center
|
||||
|
||||
Use the *Repeat* tab to select the repeat interval for the schedule:
|
||||
|
||||
* Use the calendar selector in the *Start* field to specify the starting date
|
||||
and time for the schedule.
|
||||
* Use the calendar selector in the *End* field to specify the ending date and
|
||||
time for the schedule.
|
||||
* Use the *Frequency* field to select the frequency. Frequency is one of the following:
|
||||
YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY.
|
||||
* Use the *Date* field to select the date on which schedule will execute.Date is YYYYMMDD.
|
||||
* Use the *Months* field to select the months in which the schedule will execute.
|
||||
* Use the *Week Days* field to select the days on which the schedule will execute.
|
||||
* Use the *Month Days* field to select the numeric days on which the schedule will
|
||||
execute.
|
||||
* Use the *Hours* field to select the hour at which the schedule will execute.
|
||||
* Use the *Minutes* field to select the minute at which the schedule will execute.
|
||||
|
||||
|
||||
Click the *SQL* tab to continue.
|
||||
|
||||
Your entries in the *DBMS Schedule* dialog generate a SQL command (see an example below).
|
||||
Use the *SQL* tab for review; revisit or switch tabs to make any changes to the
|
||||
SQL command.
|
||||
|
||||
**Example**
|
||||
|
||||
The following is an example of the sql command generated by user selections in
|
||||
the *DBMS Schedule* dialog:
|
||||
|
||||
.. image:: images/dbms_schedule_sql.png
|
||||
:alt: DBMS Schedule dialog sql tab
|
||||
:align: center
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Help* button (?) to access dialog help.
|
||||
* Click the *Save* button to save work.
|
||||
* Click the *Close* button to exit without saving work.
|
||||
* Click the *Reset* button to restore configuration parameters.
|
||||
@@ -61,6 +61,7 @@ values required by the program:
|
||||
|
||||
.. image:: images/debug_params.png
|
||||
:alt: Debugger parameter dialog
|
||||
:align: center
|
||||
|
||||
Use the fields on the *Debugger* dialog to provide a value for each parameter:
|
||||
|
||||
@@ -100,25 +101,29 @@ The toolbar options are:
|
||||
:alt: Debugger navigation toolbar
|
||||
:align: center
|
||||
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| Option | Action |
|
||||
+=========================+===========================================================================================================+
|
||||
| *Step into* | Click the *Step into* icon to execute the currently highlighted line of code. |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| *Step over* | Click the *Step over* icon to execute a line of code, stepping over any sub-functions invoked by the code.|
|
||||
| | The sub-function executes, but is not debugged unless it contains a breakpoint. |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| *Continue/Start* | Click the *Continue/Start* icon to execute the highlighted code, and continue until the program |
|
||||
| | encounters a breakpoint or completes. |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| *Toggle breakpoint* | Use the *Toggle breakpoint* icon to enable or disable a breakpoint (without removing the breakpoint). |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| *Clear all breakpoints* | Click the *Clear all breakpoints* icon to remove all breakpoints from the program. |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| *Stop* | Click the *Stop* icon to halt the execution of a program. |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| *Help* | Click the *Help* icon to open debugger documentation. |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
.. table::
|
||||
:class: longtable
|
||||
:widths: 1 4 1
|
||||
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+------------------------+
|
||||
| Option | Action | Shortcut |
|
||||
+=========================+===========================================================================================================+========================+
|
||||
| *Step into* | Click the *Step into* icon to execute the currently highlighted line of code. | Option/Alt + Shift + I |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+------------------------+
|
||||
| *Step over* | Click the *Step over* icon to execute a line of code, stepping over any sub-functions invoked by the code.| Option/Alt + Shift + O |
|
||||
| | The sub-function executes, but is not debugged unless it contains a breakpoint. | |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+------------------------+
|
||||
| *Continue/Start* | Click the *Continue/Start* icon to execute the highlighted code, and continue until the program | Option/Alt + Shift + C |
|
||||
| | encounters a breakpoint or completes. | |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+------------------------+
|
||||
| *Toggle breakpoint* | Use the *Toggle breakpoint* icon to enable or disable a breakpoint (without removing the breakpoint). | Option/Alt + Shift + T |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+------------------------+
|
||||
| *Clear all breakpoints* | Click the *Clear all breakpoints* icon to remove all breakpoints from the program. | Option/Alt + Shift + X |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+------------------------+
|
||||
| *Stop* | Click the *Stop* icon to halt the execution of a program. | Option/Alt + Shift + S |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+------------------------+
|
||||
| *Help* | Click the *Help* icon to open debugger documentation. | |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------+------------------------+
|
||||
|
||||
The top panel of the debugger window displays the program body; click in the
|
||||
grey margin next to a line number to add a breakpoint. The highlighted line in
|
||||
|
||||
@@ -222,3 +222,18 @@ To delete a row from the grid, click the trash icon.
|
||||
:maxdepth: 2
|
||||
|
||||
viewdata_filter
|
||||
|
||||
|
||||
|
||||
Promote View/Edit Data to Query Tool
|
||||
************************************
|
||||
|
||||
A View/Edit Data tab can be converted to a Query Tool Tab just by editing the query. Once you start editing, it will ask if you really want to move away from View/Edit.
|
||||
|
||||
.. image:: images/promote_view_edit_data_warning.png
|
||||
:alt: Promote View/Edit Data tab to Query Tool tab warning
|
||||
:align: center
|
||||
|
||||
You can disable the dialog by selecting the "Don't Ask again" checkbox. If you wish to resume the confirmation dialog, you can do it from "Prefrences -> Query Tool -> Editor -> Show View/Edit Data Promotion Warning?"
|
||||
|
||||
Once you chose to continue, you won't be able to use the features of View/Edit mode like the filter and sorting options, limit, etc. It is a one-way conversion. It will be a query tool now.
|
||||
@@ -18,7 +18,14 @@ The Entity-Relationship Diagram (ERD) tool is a database design tool that provid
|
||||
:alt: ERD tool window
|
||||
:align: center
|
||||
|
||||
You can open multiple copies of the ERD tool in individual tabs simultaneously. To close a copy of the ERD tool, click the *X* in the upper-right hand corner of the tab bar.
|
||||
You can open multiple copies of the ERD tool in individual tabs simultaneously.
|
||||
You can also generate an ERD from a database, schema or a table.
|
||||
|
||||
* The ERD for database will fetch all the tables from all the schemas of the database and plot them with foreign key links.
|
||||
* The ERD for schema will fetch all the tables from a schema and plot them with foreign key links. If any table refers to a table in another
|
||||
schema, then that link/foreign key will be removed.
|
||||
* The ERD for table will fetch all the tables linked directly or indirectly to mentioned table. You can change the depth of traversal from :ref:`Preferences <preferences>`.
|
||||
|
||||
|
||||
Toolbar
|
||||
*******
|
||||
@@ -41,9 +48,9 @@ File Options
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| Icon | Behavior | Shortcut |
|
||||
+======================+===================================================================================================+================+
|
||||
| *Open File* | Click the *Open File* icon to load a previously saved diagram. | Ctrl + O |
|
||||
| *Open File* | Click the *Open File* icon to load a previously saved diagram. | Cmd/Ctrl + O |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *Save* | Click the *Save* icon to perform a quick-save of a previously saved diagram, or to save the | Ctrl + S |
|
||||
| *Save* | Click the *Save* icon to perform a quick-save of a previously saved diagram, or to save the | Cmd/Ctrl + S |
|
||||
| | diagram to a file. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *Save as* | Click the *Save As* to open a new browser dialog and specify a new location to save the diagram. | Ctrl + Shift + |
|
||||
@@ -60,13 +67,13 @@ Export Options
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| Icon | Behavior | Shortcut |
|
||||
+======================+===================================================================================================+================+
|
||||
| *Generate SQL* | Click the *Generate SQL* icon to generate the DDL SQL for the diagram and open a query tool | Option + Ctrl +|
|
||||
| | with the generated SQL ready for execution. | S |
|
||||
| *Generate SQL* | Click the *Generate SQL* icon to generate the DDL SQL for the diagram and open a query tool | Option/Alt + |
|
||||
| | with the generated SQL ready for execution. | Ctrl + S |
|
||||
| | You can select the option *With DROP Table* if you wish to have DROP Table DDL statements before | |
|
||||
| | each CREATE Table DDL. You can see the option by clicking the down arrow beside the SQL button. | |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
| *Download image* | Click the *Download image* icon to save the ERD diagram in a image formate | Option + Ctrl +|
|
||||
| | | I |
|
||||
| *Download image* | Click the *Download image* icon to save the ERD diagram in a image formate | Option/Alt + |
|
||||
| | | Ctrl + I |
|
||||
+----------------------+---------------------------------------------------------------------------------------------------+----------------+
|
||||
|
||||
Editing Options
|
||||
|
||||
@@ -23,6 +23,9 @@ Use the fields in the *General* tab to identify an extension:
|
||||
|
||||
* Use the drop-down listbox in the *Name* field to select the extension. Each
|
||||
extension must have a unique name.
|
||||
* Move the switch next to *Cascade?* towards right position to automatically
|
||||
install any extensions that this extension depends on that are not already
|
||||
installed.
|
||||
* Store notes about the extension in the *Comment* field.
|
||||
|
||||
Click the *Definition* tab to continue.
|
||||
@@ -55,7 +58,7 @@ the *Extension* dialog:
|
||||
:align: center
|
||||
|
||||
The command creates the *adminpack* extension in the *public* schema. It is
|
||||
version *1.0* of *adminpack*.
|
||||
version *2.0* of *adminpack*.
|
||||
|
||||
* Click the *Info* button (i) to access online help.
|
||||
* Click the *Save* button to save work.
|
||||
|
||||
@@ -35,8 +35,10 @@ Click the *Definition* tab to continue.
|
||||
|
||||
Use the fields in the *Definition* tab to define the function:
|
||||
|
||||
* Move the *Custom return type?* switch to provide a user defined return type.
|
||||
* Use the drop-down listbox next to *Return type* to select the data type
|
||||
returned by the function, if any.
|
||||
returned by the function, if any. If *Custom return type?* is enabled this field
|
||||
will change to an input text field.
|
||||
* Use the drop-down listbox next to *Language* to select the implementation
|
||||
language. The default is *sql*.
|
||||
* Use the fields in the *Arguments* to define an argument. Click the *Add*
|
||||
|
||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 97 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 212 KiB |
|
After Width: | Height: | Size: 111 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 31 KiB |